解决Sublime内置终端中文乱码需统一编码为UTF-8:1. 将文件保存为UTF-8编码;2. 设置Build System的环境变量PYTHONIOENCODING为utf-8;3. 在Windows下通过chcp 65001切换控制台代码页至UTF-8;4. 或使用外部终端运行脚本,避免输出面板限制。关键在于确保文件、环境与终端编码一致。
Sublime内置终端出现中文乱码,通常是因为终端的编码设置与系统或脚本文件的实际编码不一致。尤其是在运行Python脚本或其他涉及中文输出的命令时,容易出现方块、问号或乱码字符。以下是几种常见且有效的解决方法。
检查并设置文件编码为UTF-8
确保你在Sublime中编辑的文件保存为UTF-8编码:
- 打开Sublime,点击菜单栏的 File → Save with Encoding → UTF-8
- 保存后重新运行脚本,查看是否仍乱码
修改Sublime终端启动配置的环境变量
Windows系统下,Sublime调用的是系统的cmd,而默认cmd可能使用GBK编码。可以通过设置环境变量强制使用UTF-8:
- 在Sublime中打开 Tools → Build System → New Build System…
- 输入以下内容(以Python为例):
{ “cmd”: [“python“, “-u”, “$file”], “file_regex”: “^[ ]*File “(…*?)”, line ([0-9]*)”, “selector”: “source.python”, “env”: {“PYTHONIOENCODING”: “utf-8”} }
- 保存为 Python_UTF8.sublime-build
- 之后选择该构建系统运行脚本
更改Windows控制台代码页为UTF-8
Windows默认代码页是CP936(GBK),可临时切换为UTF-8:
- 在运行脚本前,在cmd中执行:chcp 65001
- 你也可以在Build System中自动执行这一步:
{ “cmd”: [“chcp 65001 > nul && python -u “$file””], “shell”: true, “file_regex”: “^[ ]*File “(…*?)”, line ([0-9]*)”, “selector”: “source.python” }
注意:需将 shell 设为 true 才能支持命令拼接。
使用外部终端替代内置输出面板
Sublime的输出面板并非完整终端,对编码支持有限。推荐使用外部终端运行含中文输出的程序:
- 修改Build System中的cmd为:
“cmd”: [“start”, “cmd”, “/k”, “python”, “”$file””], “shell”: true
这样会在新窗口中运行脚本,避免输出面板编码限制。
基本上就这些。关键是统一文件编码、运行环境和终端的字符集为UTF-8。虽然Sublime本身轻量,但在处理中文终端输出时需要手动干预编码设置,合理配置后即可正常显示中文。
sublime python windows 编码 中文乱码 环境变量 win 解决方法 windows系统 Python windows