【发布时间】:2014-06-13 13:34:50
【问题描述】:
我们发现json.dumps 在 Linux 和 Windows 上的不同行为
jsonData = json.load(open('test.json'))
print(jsonData)
jsonStr = json.dumps(jsonData, ensure_ascii=False)
print(jsonStr)
Linux 上的输出:(python3.3)
{'name': 'Müller'}
{"name": "Müller"}
Windows 上的输出:(python3.4)
{'name': 'Müller'}
{"name": "M\xc3\xbcller"}
我们错过了什么吗? test.json 看起来像 {'name': 'Müller'}。
如何在 Windows 上使用 Python 3 读取 UTF-8 文件?
【问题讨论】:
-
您在 Windows 上使用什么编码写入文件?
-
当然,我无法在 Mac 上的 Python 3.4 上重现您的问题;产生的输出看起来像 UTF-8 数据被解释为 Latin-1。您是否100% 确定 JSON 数据不是从文件中读取的?
-
对不起,我试验了很多,放错了代码。
-
@Nicolas 我已将问题编辑为我理解您要问的内容。请确认。
标签: python json python-3.x encoding