gpt4 book ai didi

python - UnicodeEncodeError : 'charmap' codec can't encode character. ..问题

转载 作者:太空狗 更新时间:2023-10-30 01:42:47 24 4
gpt4 key购买 nike

在任何人就这个被问了十亿次的问题向我吐槽之前,请注意我已经在许多线程中尝试了几个答案,但似乎没有一个能正确解决我的问题。

import json
def parse(fn):
results = []
with open(fn) as f:
json_obj = json.loads(open(fn).read())
for r in json_obj["result"]:
print(r["name"])

parse("wine.json")

我基本上只是打开一个 json 文件并迭代它以获得一些值。显然,每当我读取其中包含一些 unicode 的值时,我都会收到此错误。

Traceback (most recent call last):
File "json_test.py", line 9, in <module>
parse("wine.json")
File "json_test.py", line 7, in parse
print(r["name"])
File "C:\Python34\lib\encodings\cp850.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u201c' in position
15: character maps to <undefined>

正如人们在其他线程中所说的那样,我尝试对其进行编码等等,但是无论我如何编码和/或解码它,我都会遇到类似的错误。请帮忙。

最佳答案

在您尝试打印字符串之前,一切都很好。要打印字符串,必须首先将其从纯 Unicode 转换为输出设备支持的字节序列。这需要对正确的字符集进行编码,Python 将其识别为 cp850 - Windows 控制台默认值。

从 Python 3.4 开始,您可以通过在命令提示符处发出以下命令将 Windows 控制台设置为使用 UTF-8:

chcp 65001

只要您已将窗口配置为使用包含该字符的字体,这应该可以解决您的问题。

Python 3.6 开头这不再是必需的——Windows 一直有一个用于控制台的完整 Unicode 接口(interface),而 Python 现在正在使用它来代替原始代码页 I/O。控制台的 Unicode 正常工作

关于python - UnicodeEncodeError : 'charmap' codec can't encode character. ..问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25127935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com