From 50930d914c3a3201ed4f2c1b82e1957ca8a72843 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Fri, 18 Sep 2026 09:51:03 +0800 Subject: [PATCH] =?UTF-8?q?build:=20deploy.py=20=E4=BF=AE=E5=A4=8D=20Windo?= =?UTF-8?q?ws=20GBK=20=E7=8E=AF=E5=A2=83=E8=AF=BB=E5=8F=96=20UTF-8=20?= =?UTF-8?q?=E8=BE=93=E5=87=BA=E5=B4=A9=E6=BA=83=EF=BC=88subprocess=20?= =?UTF-8?q?=E6=98=BE=E5=BC=8F=20utf-8/replace=20=E7=BC=96=E7=A0=81?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Code --- deploy.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/deploy.py b/deploy.py index 3247c16..cfcd31a 100644 --- a/deploy.py +++ b/deploy.py @@ -43,8 +43,8 @@ def sh(args, timeout=TIMEOUT): Windows 上 shell=True 交给 cmd.exe,引号语义与 POSIX 不同, 提交信息等参数若用 shlex.quote 反而会出错 —— 统一用 list 直传。 """ - r = subprocess.run(args, capture_output=True, text=True, - timeout=timeout, env=ENV) + r = subprocess.run(args, capture_output=True, text=True, encoding='utf-8', + errors='replace', timeout=timeout, env=ENV) return r.returncode, (r.stdout + r.stderr).strip() @@ -60,8 +60,8 @@ def remote(cmd, timeout=TIMEOUT): cd 与 cmd 的拼接在 Python 里完成,不走任何 shell 解析。 """ args = SSH_BASE.split() + ['cd %s && %s' % (REMOTE_DIR, cmd)] - r = subprocess.run(args, capture_output=True, text=True, - timeout=timeout, env=ENV) + r = subprocess.run(args, capture_output=True, text=True, encoding='utf-8', + errors='replace', timeout=timeout, env=ENV) return r.returncode, (r.stdout + r.stderr).strip()