【问题标题】:python 3.4 encoding in windows 8.1windows 8.1中的python 3.4编码
【发布时间】:2015-06-20 15:19:03
【问题描述】:

我使用this question中提到的脚本来检查编码:

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))

我得到(python 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”的环境变量 vith utf8 值)但结果始终相同。如何在 Windows 8.1 中更改 PYTHONIOENCODING 的编码和值? (其实我还有另一台电脑,也是Windows 8.1,显示正确的值,utf-8,但我不知道为什么)

【问题讨论】:

  • 基本健全性检查:您已经尝试过:import sys reload(sys) sys.setdefaultencoding('utf-8')
  • 谢谢,但据我所知,reload(sys) 在 python 3.4 中不起作用。
  • 我不确定是否需要重新加载,但以防万一:docs.python.org/3/library/imp.html#imp.reload

标签: python-3.x encoding utf-8 windows-8.1


【解决方案1】:

上周我有same problem...我最终只是在 IDE 中进行了更改。不知道你的IDE,但是如果是PyCharm,从菜单栏开始:File -> Settings... -> Editor -> File Encodings,然后设置:“IDE Encoding”、“Project Encoding”和“Default encoding for properties文件”全部转换为 UTF-8,她现在的工作就像一个魅力。

也许你的也有类似的选择。

【讨论】:

  • 这实际上是问题所在。非常感谢!
  • 很高兴为您提供帮助...请随时标记为答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-13
  • 1970-01-01
相关资源
最近更新 更多