在 Jenkins 上通过 SSH 控制 Windows 目标计算机时,出现中文乱码
文章目录
-
-
- 问题描述
- 1. 确认 Windows 环境的字符编码
-
- 步骤 1:检查 Windows 命令行编码
- 步骤 2:临时设置命令行编码为 UTF-8
- 步骤 3:永久修改编码
- 2. 确保 Jenkins 配置正确的编码
-
- 步骤 1:配置 Jenkins 系统级别编码
- 步骤 2:配置 Jenkins 环境变量
- 3. 配置 SSH 客户端和服务器的编码
-
- 步骤 1:配置 OpenSSH
- 步骤 2:重新启动 SSH 服务
- 4. 使用 PowerShell 而非 CMD 执行脚本
-
问题描述
在 Jenkins 上通过 SSH 控制 Windows 目标计算机时,如果执行的 .bat
脚本出现中文乱码,可能与字符编码设置有关。以下是几种可能的解决方案来修复这个问题:
1. 确认 Windows 环境的字符编码
Windows 默认的命令行字符编码可能不是 UTF-8,这可能导致中文字符在远程执行命令时无法正确显示。
步骤 1:检查 Windows 命令行编码
在目标 Windows 计算机上,打开 CMD 并输入以下命令检查当前的字符编码:
chcp
你可能会看到类似的输出:
Active code page: 437
这个表示系统正在使用 code page 437 (美国英语),而非支持中文的编码。为了支持中文,可以切换到 UTF-8 编码 (code page 65001)。
步骤 2:临时设置命令行编码为 UTF-8
你可以通过在脚本中添加命令来更改编码。
在 Jenkins 执行的