Sublime Text控制台不显示带重音的行

jcr*_*crs 11 unicode utf-8 sublimetext sublimetext2 sublimetext3

在Sublime Text 2和3中,控制台输出不显示带有重音的行:

例  

Tools > Build在Windows中使用vanilla Sublime,使用自动Build System来执行它.

有没有解决这个问题?

Ent*_*orm 3

将文档中标准系统输出的编码设置为UTF-8

\n
import sys\nimport codecs\n\nsys.stdout = codecs.getwriter( "utf-8" )( sys.stdout.detach() )\n\nprint( "1" )\nprint( "\xc3\xa1\xc3\xa9\xc3\xad\xc3\xb3\xc3\xba\xc3\xbd \xc3\xa2\xc3\xaa\xc3\xae\xc3\xb4\xc3\xbb \xc3\xa4\xc3\xab\xc3\xaf\xc3\xb6\xc3\xbc \xc3\xa0\xc3\xa8\xc3\xac\xc3\xb2\xc3\xb9 \xc3\xa3\xc3\xb1\xc3\xb5" )\nprint( "2" )\n
Run Code Online (Sandbox Code Playgroud)\n
\n

要自动将UTF-8编码输出应用到所有文档,请将前面的方法作为内联command实现Python.sublime-build

\n

设置编码后,您的文档将通过exec内联加载command加载。

\n
{\n    "cmd": [ "python", "-u", "-c", "import sys; import codecs; sys.stdout = codecs.getwriter( \'utf-8\' )( sys.stdout.detach() ); exec( compile( open( r\'$file\', \'rb\' ).read(), r\'$file\', \'exec\'), globals(), locals() )" ],\n    "file_regex": "^[ ]*File \\"(...*?)\\", line ([0-9]*)",\n    "selector": "source.python",\n\n    "variants":\n    [\n        {\n            "name": "Syntax Check",\n            "shell_cmd": "python -m py_compile \\"${file}\\"",\n        }\n    ]\n}\n
Run Code Online (Sandbox Code Playgroud)\n

提示:使用PackageResourceViewer创建用户副本以下文件的Python.sublime-build

\n
\n

使用Sublime Text 3稳定通道,Build 3103)进行测试并Python3.4.3进行测试

\n
\n

资料来源:

\n

如何在Python 3中设置sys.stdout编码?

\n

Python 3 中 execfile 的替代品?

\n

  • @Basj 绝对是一个 hack,但不必为每个 Python 脚本添加它。如果您重新访问答案的第二部分(在“自动应用..”之后),您将看到黑客样板已合并到构建系统中。这意味着使用该构建系统运行的所有脚本都将使用正确的 UTF-8 编码输出。 (2认同)