我有以下问题。我有一个以.txt UTF-8格式保存的德语文本,我想用python打印出来。这是我的代码:
txt = open(filename, 'r').read()
print txt.decode('utf-8-sig')
它在IDLE中运行完美,但是当我保存我的代码并从命令提示符运行它时,会引发错误,特别是:
UnicodeEncodeError: 'charmap' codec can't encode characters in position 3-4: cha
racter maps to <undefined>
在我的特定情况下,文本为“gemäßigt”,在.py代码的开头,我输入了类似
# -*- coding: utf-8-sig -*-
顺便说一句,我的操作系统是Windows,俄语。有人知道我的问题是什么吗?
最好,亚历克斯
您的控制台使用的DOS代码页866没有用于ä
或的字符符号ß
,从而导致错误。
您可以.encoding('cp866', errors='replace')
在输出之前尝试使用字符串,用?
s替换终端不支持的所有字符。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句