本站分享:AI、大数据、数据分析师培训认证考试,包括:Python培训Excel培训Matlab培训SPSS培训SAS培训R语言培训Hadoop培训Amos培训Stata培训Eviews培训

python json 编码转换 _python 汉字编码转换

python培训 cdadata 3813℃

python json 编码转换 汉字编码问题

关键词:python 汉字编码转换、python json 编码转换、python json 汉字

有这样一个需求:

需要一个json 文件 数据从数据库里查询出来

1. 设置文件头

Python代码
# -*- coding:utf-8 -*-    

2. 连接数据库 将数据库连接数据库的编码设置为utf8

Python代码
db = MySQLdb.connect(host=‘数据库,user=用户名,passwd=密码,db=’数据库, init_command=“set names utf8” )  

3.  查询出来的数据转化为json

Python代码
t = json.dumps(r, ensure_ascii=False)  

注意: ensure_ascii=False

Python 的api是这样解释的:

Python代码
If ensure_ascii is False (default: True), then some chunks written to fp may be unicode instances, subject to normal Python str to unicode coercion rules. Unless fp.write() explicitly understands unicode (as in codecs.getwriter()) this is likely to cause an error.  

PS : e文不好 就不再这里误导了。

如果 不加 ensure_ascii=False  输出的 t 如果有汉字的话都默认给转换成一堆编码 如果加上的话 就都能正常显示变成了汉字

例如:

不加的话: t = json.dumps(r)

Html代码
[{“category”: {“label”: “\u65b0\u8f66”}, “title”: “\u5168\u65b0\u8d77\u4e9a\u798f\u745e\u8fea\u8def\u8bd5\u8c0d\u7167\u66dd\u5149 \u6216\u4e3a\u5b9a\u540dK3”, “url”: “http://auto.sohu.com/20120523/n343878794.shtml”, “source”: “\u641c\u72d0\u6c7d\u8f66”, “time”: 1337740004, “imgUrl”: “”}, {“category”: {“label”: “\u65b0\u8f66”}, “title”: “\u65b0\u5965\u8feaQ7/Q8\u66f4\u591a\u4fe1\u606f\u66dd\u5149 \u5c06\u57fa\u4e8eMLB\u5e73\u53f0”, “url”: “http://auto.sohu.com/20120523/n343873150.shtml”, “source”: “\u641c\u72d0\u6c7d\u8f66”, “time”: 1337737913, “imgUrl”: “”}]  

加上的话:  t = json.dumps(r, ensure_ascii=False)

Html代码
[{“category”: {“label”: “新车”}, “title”: “全新起亚福瑞迪路试谍照曝光 或为定名K3”, “url”: “http://auto.sohu.com/20120523/n343878794.shtml”, “source”: “汽车”, “time”: 1337740004, “imgUrl”: “”}, {“category”: {“label”: “新车”}, “title”: “新奥迪Q7/Q8更多信息曝光 将基于MLB平台”, “url”: “http://auto.sohu.com/20120523/n343873150.shtml”, “source”: “汽车”, “time”: 1337737913, “imgUrl”: “”}]  

 

转载请注明:数据分析 » python json 编码转换 _python 汉字编码转换

喜欢 (0)or分享 (0)