如何在 Scite 中使用 Python 3.7 打印 Daiski?
How to print ダイスキ using Python 3.7 in Scite?
我正在使用启用了 utf-8 输出的 Win10 和 Scite window。
文件保存为带 BOM
的 UTF-8
脚本:
print('ダイスキ from python 3')
脚本可以在 cmd prompt
上 运行 而不会出错。但是当 运行 on Scite
时会产生错误:
输出:
>pythonw.exe -u "test.py"
Traceback (most recent call last):
File "test.py", line 12, in <module>
print('\u30c0\u30a4\u30b9\u30ad from python 3')
File "D:\BIN\Python37\lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 1-2: character maps to <undefined>
>Exit code: 1
如何在 Scite 中使用 python3 将 ダイスキ 正确打印到标准输出?
更新:
我编辑了 Scite 全局选项文件,以支持 utf-8。
code.page=65001
我测试了 C,Lua,旧的 Python 2.7,它可以打印 utf-8 字符串(在 Scite 输出 window 上)。
似乎是 Scite 配置错误或可能是 Scite 错误,因为 Scite 输出终端 window 适用于 Lua & C,但仅在 Python3 上失败。
尝试这样做:
print(u'ダイスキ')
Scite 涉及 popen() / 管道 STDOUT。
Python 3.7 需要手动设置环境变量"PYTHONIOENCODING"。所以需要添加环境变量 "PYTHONIOENCODING" 设置为 "utf_8"
结果:
我正在使用启用了 utf-8 输出的 Win10 和 Scite window。 文件保存为带 BOM
的 UTF-8脚本:
print('ダイスキ from python 3')
脚本可以在 cmd prompt
上 运行 而不会出错。但是当 运行 on Scite
时会产生错误:
输出:
>pythonw.exe -u "test.py"
Traceback (most recent call last):
File "test.py", line 12, in <module>
print('\u30c0\u30a4\u30b9\u30ad from python 3')
File "D:\BIN\Python37\lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 1-2: character maps to <undefined>
>Exit code: 1
如何在 Scite 中使用 python3 将 ダイスキ 正确打印到标准输出?
更新:
我编辑了 Scite 全局选项文件,以支持 utf-8。
code.page=65001
我测试了 C,Lua,旧的 Python 2.7,它可以打印 utf-8 字符串(在 Scite 输出 window 上)。
似乎是 Scite 配置错误或可能是 Scite 错误,因为 Scite 输出终端 window 适用于 Lua & C,但仅在 Python3 上失败。
尝试这样做:
print(u'ダイスキ')
Scite 涉及 popen() / 管道 STDOUT。
Python 3.7 需要手动设置环境变量"PYTHONIOENCODING"。所以需要添加环境变量 "PYTHONIOENCODING" 设置为 "utf_8"
结果: