Python 使用utf8将外语字符写入json
我试图使用Python2(2.56)将巴西葡萄牙语(但可以是任何受支持的语言)写入json文件。当我将字符写入日志文件时,会完美地显示,但是当写入json文件时,字符是不正确的 这是我的密码Python 使用utf8将外语字符写入json,python,json,utf-8,Python,Json,Utf 8,我试图使用Python2(2.56)将巴西葡萄牙语(但可以是任何受支持的语言)写入json文件。当我将字符写入日志文件时,会完美地显示,但是当写入json文件时,字符是不正确的 这是我的密码 #!/usr/bin/env python # -*- coding: utf-8 -*- data = u'ÁàâãçêíóôõúÜ' utfdata=data.encode('utf-8') LOG.info("utfdata:"+utfdata) Nam
#!/usr/bin/env python
# -*- coding: utf-8 -*-
data = u'ÁàâãçêíóôõúÜ'
utfdata=data.encode('utf-8')
LOG.info("utfdata:"+utfdata)
Name = utfdata
s = s.replace("\"NAME\"", Name)
f = open('appmodel.json',"w")
f.write(s.encode('utf-8'))
还尝试将open()方法替换为
f=codecs.open('appmodel.json',encoding='utf-8',mode='w+'))
json文件中接收到的输出是ÃÃÃ、ÃçÃÃÃÃÃÃÃÃÃÃÃ而不是Á
有人能告诉我这是python错误还是我做错了什么吗您如何查看输出文件?看起来它是正确有效的UTF-8,但你把它看作是拉丁语-1。@jwodder:你怎么知道它是什么样子的?@martineau:他发布了输出(
,我对这个问题的理解是如何使它成为json文件中应该包含的如果您将保存为UTF-8,但将其视为拉丁语-1,您将得到什么。这个问题的解决方案是将文件视为UTF-8,如何实现这一点取决于OP首先是如何查看文件的。