繁体   English   中英

Python JSON Unicode错误OrderedDict

[英]Python JSON Unicode Error OrderedDict

我希望能够在编辑器中查看文件并自动看到ü。

# -*- coding: utf-8 -*-
import json
from collections import OrderedDict

fdata = OrderedDict()
fdata[u"Züge"] = 0
fdata[u"Bahnhöfe"] = 0

with open("Desktop/test.json", "w") as outfile:
    json.dump(fdata, outfile, indent=2, ensure_ascii=False)

UnicodeEncodeError:'ascii'编解码器无法在位置2编码字符u'\\ xfc':序数不在范围内(128)

它与OrderedDict有关,它具有正常的dict。

我曾经遇到过类似的问题,我已经在.py文件的顶部添加了这一行,并且行得通。

# coding=utf-8

打开文件时,您无需指定编码,因此outfile.encoding可能为None

的file.encoding

该文件使用的编码。 将Unicode字符串写入文件时,将使用此编码将它们转换为字节字符串。 另外,当文件连接到终端时,该属性给出该终端可能使用的编码(如果用户错误配置了该终端,则该信息可能不正确)。 该属性是只读的,可能不会出现在所有类似文件的对象上。 也可能是None,在这种情况下,文件使用系统默认编码来转换Unicode字符串。

而且您的系统默认编码显然是ascii。

相反,请使用所需的编码打开文件:

import codecs
  with codecs.open("test.json", "w", encoding='utf-8') as outfile:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM