首页 > 解决方案 > 如何解决 Python Unicode 编码错误?

问题描述

我试图加载一个 .json 文件。这个文件是一个英文字典,包含很多像 \u266f 这样的 Unicode。通过使用encoding = "utf8"不能解决错误。然后我用 UTF-8 替换了所有的 Unicode;但是,它仍然显示相同的错误。


我的代码:

import json
data = json.load(open("data.json", encoding="utf8"))
print(data)


结果:

Traceback (most recent call last):
  File "E:\Python\Dictionary App\test.py", line 4, in <module>
    print(data)
  File "C:\Users\ahnaf\AppData\Local\Programs\Python\Python38-32\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 '\u266f' in position 657370: character maps to <undefined>
[Finished in 0.32s]

json 文件:data.json

标签: pythonjsonunicodeutf-8

解决方案


尝试包括:

# -*- coding: utf-8 -*-

或者

# coding: utf-8

在你的 python 文件头中。

示例:

# coding: utf-8
import json

with open("data.json") as f:
    data = json.loads(f.read())

print(data)

推荐阅读