mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-03-09 07:15:51 -05:00
fix: resolve Windows Unicode encoding errors in PDF builds
- Add PYTHONUTF8=1 env var to all Windows Docker run commands (PEP 540) - Fix generate_figure_list.py to explicitly use encoding='utf-8' in write_text() instead of relying on system default (cp1252 on Windows) - The ≈ character (\u2248) in Vol I content triggered charmap codec errors
This commit is contained in:
4
.github/workflows/book-build-container.yml
vendored
4
.github/workflows/book-build-container.yml
vendored
@@ -544,6 +544,7 @@ jobs:
|
||||
docker run --rm `
|
||||
-e PYTHONPATH=C:\workspace `
|
||||
-e PYTHONIOENCODING=utf-8 `
|
||||
-e PYTHONUTF8=1 `
|
||||
-v "$($PWD.Path):C:\workspace" `
|
||||
-w "C:\workspace\book\quarto" `
|
||||
${{ env.CONTAINER_IMAGE }} `
|
||||
@@ -612,6 +613,7 @@ jobs:
|
||||
docker run --rm `
|
||||
-e PYTHONPATH=C:\workspace `
|
||||
-e PYTHONIOENCODING=utf-8 `
|
||||
-e PYTHONUTF8=1 `
|
||||
-v "$($PWD.Path):C:\workspace" `
|
||||
-w "C:\workspace\book\quarto" `
|
||||
${{ env.CONTAINER_IMAGE }} `
|
||||
@@ -698,6 +700,7 @@ jobs:
|
||||
docker run --rm `
|
||||
-e PYTHONPATH=C:\workspace `
|
||||
-e PYTHONIOENCODING=utf-8 `
|
||||
-e PYTHONUTF8=1 `
|
||||
-v "$($PWD.Path):C:\workspace" `
|
||||
-w "C:\workspace\book\quarto\${{ matrix.output_dir }}" `
|
||||
${{ env.CONTAINER_IMAGE }} `
|
||||
@@ -795,6 +798,7 @@ jobs:
|
||||
docker run --rm `
|
||||
-e PYTHONPATH=C:\workspace `
|
||||
-e PYTHONIOENCODING=utf-8 `
|
||||
-e PYTHONUTF8=1 `
|
||||
-v "$($PWD.Path):C:\workspace" `
|
||||
-w "C:\workspace\book\quarto\${{ matrix.output_dir }}" `
|
||||
${{ env.CONTAINER_IMAGE }} `
|
||||
|
||||
@@ -392,7 +392,7 @@ def main():
|
||||
# Write to output directory
|
||||
output_path = output_dir / 'FIGURE_LIST.txt'
|
||||
output_path.parent.mkdir(parents=True, exist_ok=True)
|
||||
output_path.write_text('\n'.join(lines))
|
||||
output_path.write_text('\n'.join(lines), encoding='utf-8')
|
||||
|
||||
print(f"[Figure List] Written: {output_path}", file=sys.stderr)
|
||||
print(f"[Figure List] Total: {len(merged)} figures", file=sys.stderr)
|
||||
|
||||
Reference in New Issue
Block a user