diff --git a/dev.ps1 b/dev.ps1 index 730c95e..a89464f 100644 --- a/dev.ps1 +++ b/dev.ps1 @@ -171,6 +171,11 @@ $frontendPidFile = [System.IO.Path]::GetTempFileName() $backendJob = Start-Job -Name 'backend' -ScriptBlock { param($pidFile, $dir, $port) + # Start-Job 开的是全新 powershell.exe 子进程, 不继承主进程的 UTF-8 设置, + # 默认用系统 ANSI (中文 Windows = GBK/cp936) 解码后端 UTF-8 输出 → 中文乱码。 + # 这里强制子进程用 UTF-8, 与 app/__init__.py 的 stdout/stderr 编码对齐。 + [Console]::OutputEncoding = New-Object System.Text.UTF8Encoding $false + $OutputEncoding = New-Object System.Text.UTF8Encoding $false $PID | Out-File -FilePath $pidFile -Encoding ascii -Force $env:PYTHONUNBUFFERED = '1' Set-Location $dir @@ -179,6 +184,9 @@ $backendJob = Start-Job -Name 'backend' -ScriptBlock { $frontendJob = Start-Job -Name 'frontend' -ScriptBlock { param($pidFile, $dir, $port) + # 同上: job 子进程默认 GBK, pnpm/前端工具链也是 UTF-8 输出, 需对齐。 + [Console]::OutputEncoding = New-Object System.Text.UTF8Encoding $false + $OutputEncoding = New-Object System.Text.UTF8Encoding $false $PID | Out-File -FilePath $pidFile -Encoding ascii -Force Set-Location $dir & pnpm dev --host 0.0.0.0 --port $port 2>&1