From c492de47a4c02328695cc5207ed174b168d5b8b7 Mon Sep 17 00:00:00 2001 From: Vijay Janapa Reddi Date: Fri, 6 Mar 2026 16:09:42 -0500 Subject: [PATCH] fix: set UTF-8 encoding in Windows Docker containers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add PYTHONIOENCODING=utf-8 env var to all Windows Docker run commands, and set console/output encoding to UTF-8 in the build script. Fixes UnicodeEncodeError for characters like ≈ (\u2248) that the default Windows code page (cp1252) cannot encode. --- .github/workflows/book-build-container.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/book-build-container.yml b/.github/workflows/book-build-container.yml index 49c4d5a94..34df9b9c4 100644 --- a/.github/workflows/book-build-container.yml +++ b/.github/workflows/book-build-container.yml @@ -543,6 +543,7 @@ jobs: docker run --rm ` -e PYTHONPATH=C:\workspace ` + -e PYTHONIOENCODING=utf-8 ` -v "$($PWD.Path):C:\workspace" ` -w "C:\workspace\book\quarto" ` ${{ env.CONTAINER_IMAGE }} ` @@ -576,6 +577,9 @@ jobs: # Write build script to a file to avoid pipe/stdin issues $scriptContent = @' $ErrorActionPreference = 'Stop' + [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 + $OutputEncoding = [System.Text.Encoding]::UTF8 + chcp 65001 | Out-Null Write-Host "📋 Working directory: $(Get-Location)" Write-Host "📋 Listing config files:" Get-ChildItem config\_quarto-*.yml | ForEach-Object { Write-Host " $_" } @@ -607,6 +611,7 @@ jobs: docker run --rm ` -e PYTHONPATH=C:\workspace ` + -e PYTHONIOENCODING=utf-8 ` -v "$($PWD.Path):C:\workspace" ` -w "C:\workspace\book\quarto" ` ${{ env.CONTAINER_IMAGE }} ` @@ -692,6 +697,7 @@ jobs: docker run --rm ` -e PYTHONPATH=C:\workspace ` + -e PYTHONIOENCODING=utf-8 ` -v "$($PWD.Path):C:\workspace" ` -w "C:\workspace\book\quarto\${{ matrix.output_dir }}" ` ${{ env.CONTAINER_IMAGE }} ` @@ -788,6 +794,7 @@ jobs: docker run --rm ` -e PYTHONPATH=C:\workspace ` + -e PYTHONIOENCODING=utf-8 ` -v "$($PWD.Path):C:\workspace" ` -w "C:\workspace\book\quarto\${{ matrix.output_dir }}" ` ${{ env.CONTAINER_IMAGE }} `