You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下Sublime Text控制台打印UTF-8字符串异常问题

Sublime Text 2中Python打印Unicode字符报错的解决方案

你遇到的这个问题本质是Sublime Text 2的内置运行环境和Windows cmd的编码规则不一致导致的:cmd默认会使用系统的本地编码(比如GBK或者UTF-8,取决于你的系统设置),而Sublime Text 2的Python构建环境默认把输出编码锁成了ASCII,所以当你打印包含é这类非ASCII字符的Unicode字符串时,就会触发UnicodeEncodeError。

下面给你几个针对性的解决办法,都是适配ST2的,比ST3的方案更贴合:

方法1:在脚本中强制指定输出编码

在你的myscript.py开头加上这段代码,直接从脚本层面把标准输出的编码改成UTF-8,绕过Sublime的默认限制:

import sys
import codecs

# 强制将标准输出设置为UTF-8编码
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)

之后再按Ctrl+B运行,应该就能正常输出Café了。

方法2:修改Sublime Text 2的Python构建系统

如果不想每次都修改脚本,可以直接定制一个支持UTF-8的构建配置:

  1. 打开Sublime Text 2,点击顶部菜单栏的 Tools > Build System > New Build System
  2. 把默认的模板内容替换成以下代码,然后保存为Python-UTF8.sublime-build(保存路径默认即可):
{
    "cmd": ["python", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "encoding": "utf-8"
}
  1. 回到脚本界面,在 Tools > Build System 里选中你刚创建的Python-UTF8,再按Ctrl+B运行,就能稳定输出带特殊字符的内容了。

为啥ST3的解决方案没用?

因为Sublime Text 3和ST2的构建系统底层逻辑有差异,ST3的方案大多是修改内置的exec.py或者用更灵活的编码参数,但这些在ST2里不兼容,所以必须用上面适配ST2的方法才行。

内容的提问来源于stack exchange,提问作者Basj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:05:45