【发布时间】:2016-08-03 16:41:42
【问题描述】:
我正在尝试打开一个文件,读取文件并打印出来。 嗯,这应该很简单,看起来像这样:
file = open("Testfile.txt", "r")
string = file.read()
print(string)
file.close()
所以现在,我想打开一个包含 Unicode 字符的文件,超过 255 个可以用 'charmap' 编码的字符,正如我理解的那样。
所以现在发生的是,错误“UnicodeEncodeError”引发并且我的程序崩溃了。
我的问题: 我必须怎样做才能正确打印和读取 Unicode 字符而不引发错误?
谢谢帮助
注意:我不想得到像 \U000800 或 \x80 这样的东西,因为我不能用它们做任何事情。 我需要这些字符,因为您可以从 Unicode 表中挑选它们。
编辑:使用 Windows 7,即使我尝试将其输出到文件中,也会发生错误:/
【问题讨论】:
-
当你调用
print时,Python 需要为你当前的终端编码字符串,这就是错误的来源。如果只需要输出到文件,则不会出现错误。但是,如果您需要终端输出,答案很大程度上取决于您使用的终端/操作系统,因此您需要提及。 -
这个网站上只有大约一千个
UnicodeEncodeError问题 - 请先尝试搜索其中的一些问题。 -
@MattDMo 我知道关于这个错误有很多问题,但我看到几乎所有我能找到的人都没有帮助我,所以这就是我问的原因:)
标签: python python-3.x unicode encoding