【问题标题】:Python - UnicodeEncodeError Fix? [duplicate]Python - UnicodeEncodeError 修复? [复制]
【发布时间】: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


【解决方案1】:

如果您使用的是命令行 (cmd.exe),则无法打印 unicode 字符。

尝试使用 python 自带的 IDLE 来运行代码。它允许打印 unicode 以及打字和其他东西。

【讨论】:

  • 不,我没有使用cmd?!
  • 不,我不能用 Python 打印它。那就是问题所在! ._.
猜你喜欢
  • 2017-11-20
  • 2021-01-15
  • 2019-12-24
  • 2020-09-26
  • 1970-01-01
  • 1970-01-01
  • 2016-06-16
  • 2021-04-27
  • 2014-02-02
相关资源
最近更新 更多