我希望能够在编辑器中查看该文件并自动查看ü。
# -*- 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'编解码器无法对字符u'\ xfc'进行编码 位置2:序数不在范围内(128)
它与OrderedDict有关,正常的dict可以工作。
答案 0 :(得分:0)
我曾经遇到过类似的问题,我在.py文件的顶部添加了这一行,但它确实有效。
# coding=utf-8
答案 1 :(得分:0)
打开文件时,您没有指定编码,因此outfile.encoding
可能是None
。
<强>的file.encoding 强>
此文件使用的编码。当Unicode字符串时 写入文件后,它们将被转换为字节串 这种编码。另外,当文件连接到终端时, 该属性给出了终端可能使用的编码 (如果用户配置错误,该信息可能不正确 终奌站)。该属性是只读的,可能并非全部存在 类文件对象。 它也可能是None,在这种情况下文件使用 用于转换Unicode字符串的系统默认编码。
您的系统默认编码显然是ascii。
相反,请使用所需的编码打开文件:
import codecs
with codecs.open("test.json", "w", encoding='utf-8') as outfile: