Python输出中文失败主因是源文件、终端和解释器编码不统一为UTF-8;需确保.py文件存为UTF-8、终端切换至UTF-8(如cmd执行chcp 65001)、必要时代码中声明coding:utf-8并检查sys.stdout.encoding。
Python输出不了中文,通常是因为编码设置不匹配或环境不支持UTF-8。核心问题在于:源文件编码、终端/控制台编码、Python解释器默认编码三者不一致。只要统一为UTF-8,基本就能解决。
很多编辑器(如VS Code、PyCharm、Notepad++)默认可能用GBK或其他编码保存.py文件。如果文件里写了中文但保存成GBK,而Python按UTF-8读取,就会报错或显示乱码。
即使代码和文件是UTF-8,如果Windows命令提示符(cmd)或PowerShell默认用GBK,也会无法正常显示中文。
在某些IDE(如旧版PyCharm、Sublime Text插件)或重定向输出时(如 python script.py > out.txt),stdout可能被包装成不带UTF-8编码的流。
utf-8)None或cp936等,可在脚本开头强制设置(仅限必要场景):sys.stdout.buffer.write()写bytes,但一般不推荐,优先修复环境写个最小测试脚本,运行后看是否能清晰输出中文:
print("你好,世界!")
print(len("中文")) # 应输出2,不是乱码或报错
如果仍出错,重点检查终端编码和文件保存格式——90%的问题出在这两处。