蟒蛇3.4编码在Windows 8.1

问题描述:

我使用this question提到的脚本,检查编码:蟒蛇3.4编码在Windows 8.1

import sys, locale, os 
print(sys.stdout.encoding) 
print(sys.stdout.isatty()) 
print(locale.getpreferredencoding()) 
print(sys.getfilesystemencoding()) 
print(os.environ["PYTHONIOENCODING"]) 
print(chr(246), chr(9786), chr(9787)) 

,我获得(蟒蛇3.4,Windows 8.1中):

windows-1252 
False 
cp1252 
mbcs 
windows-1252 
ö Traceback (most recent call last): 
    File "C:/Users/.../UTF8-comprovacio.py", line 8, in <module> 
    print(chr(246), chr(9786), chr(9787)) 
    File "C:\Python34\lib\encodings\cp1252.py", line 19, in encode 
    return codecs.charmap_encode(input,self.errors,encoding_table)[0] 
UnicodeEncodeError: 'charmap' codec can't encode character '\u263a' in position 0: character maps to <undefined> 

我试图改变Windows 8.1编码(例如,我添加了一个名为“PYTHONIOENCODING”的环境变量,即utf8值),但结果总是相同的。如何在Windows 8.1中更改PYTHONIOENCODING的编码和值? (事实上​​,我有另一台电脑,也与Windows 8.1,显示正确的值,utf-8,但我不知道为什么)

+0

基本健全检查:你曾尝试:进口SYS 重装(SYS) sys.setdefaultencoding函数( 'UTF-8') –

+0

感谢,但据我所知,重装(SYS)在python 3.4不起作用。 –

+0

我不确定重装是必要的,但在以下情况下:https://docs.python.org/3/library/imp.html#imp.reload –

我上周same problem ...我最终只是改变在IDE中。不知道你的IDE,但是如果PyCharm从菜单栏开始:文件 - >设置... - >编辑器 - >文件编码,然后设置:“IDE编码”,“项目编码”和“属性的默认编码文件“全部转换为UTF-8,她现在就像一个魅力。

也许您的个人都有类似的选择。

+0

这实际上是问题。非常感谢你! –

+0

高兴地帮助...请随时标记为答案。 – CLaFarge