feat(service): add UTF-8 environment variables to PowerShell script for Windows service

This commit is contained in:
Soulter
2026-05-22 19:49:48 +08:00
parent c2bbec7683
commit e2c55fa740
2 changed files with 5 additions and 0 deletions

View File

@@ -366,6 +366,8 @@ def _build_windows_powershell_arguments(
script = (
"$ErrorActionPreference = 'Stop'\n"
"$env:PYTHONUNBUFFERED = '1'\n"
"$env:PYTHONUTF8 = '1'\n"
"$env:PYTHONIOENCODING = 'utf-8'\n"
"$cmdExe = if ($env:COMSPEC) { $env:COMSPEC } else { 'cmd.exe' }\n"
f"$astrbotCommand = {_quote_powershell_literal(_build_windows_cmd_line(service_name, executable))}\n"
"$process = Start-Process "

View File

@@ -146,6 +146,9 @@ def test_windows_task_xml_uses_astrbot_executable_and_working_directory():
assert "<Command>powershell.exe</Command>" in task_xml
assert "<Hidden>true</Hidden>" in task_xml
assert "-WindowStyle Hidden" in task_xml
assert "$env:PYTHONUNBUFFERED = '1'" in powershell_script
assert "$env:PYTHONUTF8 = '1'" in powershell_script
assert "$env:PYTHONIOENCODING = 'utf-8'" in powershell_script
assert "Start-Process" in powershell_script
assert "-WindowStyle Hidden" in powershell_script
assert "C:\\Users\\astrbot\\.local\\bin\\astrbot.exe" in powershell_script