给网友朋友们带来一篇相关的编程文章,网友吴良才根据主题投稿了本篇教程内容,涉及到Python转json、json中文乱码、Python json中文乱码、Python转json时中文乱码相关内容,已被354网友关注,内容中涉及的知识点可以在下方直接下载获取。
Python转json时中文乱码
Python转json时出现中文乱码
设置报文头
# -*- coding:gbk -*-
连接数据库设置编码
mysql = MySQLdb.connect(host='数据库,user=用户名,passwd=密码,db='数据库, init_command="set names gbk" )
将数据转换为json
jsonData = json.dumps(data, encoding='gbk',ensure_ascii=False)
如果json数据中文显示有问题,变成 \uXXX的形式,原因是中文以变为unicode 编码了,而解码默认是以ASCII解的,中文不在ASCII编码中,所以无法显示,加上ensure_ascii=False可以防止变为unicode 编码。
设置json编码
jsonData = jsonData .encode('gbk')
python json转json字符串时,中文被转义
核心
json.dumps(jsonData, ensure_ascii=False)
import pymysql import json conn = pymysql.connect( host='127.0.0.1', port=3306, user='root', password='root', db='test' ) cursor = conn.cursor() sql = "select * from users" cursor.execute(sql) # row_1 = cursor.fetchone() row_2 = cursor.fetchmany(3) # print(row_1) # print(row_2) # print(list(row_2)) jsonData = [] for row in row_2: obj = {} obj['id'] = row[0] # obj['createTime'] = row[1] # obj['updateTime'] = row[2] obj['name'] = row[4] obj['phone'] = row[5] jsonData.append(obj) # print(row) print(jsonData) # json转字符串中文转字符 print(json.dumps(jsonData, ensure_ascii=False)) with open('./basedata.json', 'w') as f: f.write(json.dumps(jsonData, ensure_ascii=False)) conn.commit() cursor.close() conn.close()
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持码农之家。