fix: set UTF-8 encoding in Windows Docker containers

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.
This commit is contained in:
Vijay Janapa Reddi
2026-03-06 16:09:42 -05:00
parent e3c647e1c3
commit c492de47a4

View File

@@ -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 }} `