Python转json时出现中文乱码的问题及解决

 更新时间:2023年02月08日 10:23:46   作者:超级可爱的小甜甜  
这篇文章主要介绍了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()

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python光学仿真实现光线追迹折射与反射的实现

    python光学仿真实现光线追迹折射与反射的实现

    这篇文章主要为大家介绍了python光学仿真实现光线追迹折射与反射的实现示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • 基于python内置函数与匿名函数详解

    基于python内置函数与匿名函数详解

    下面小编就为大家分享一篇基于python内置函数与匿名函数详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • Python实现自动签到脚本的示例代码

    Python实现自动签到脚本的示例代码

    这篇文章主要介绍了Python实现自动签到脚本的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Python 编程语言详细介绍

    Python 编程语言详细介绍

    这篇文章主要分享的是 Python 编程语言的详细介绍,Python 由 Guido van Rossum 设计,作为“ABC”编程语言的继承者,于 1991 年首次发布。它是一种高级通用语言,其设计理念是通过使用缩进来强调代码的可读性。文章具有一定的参考价值,需要的朋友可以参考一下
    2021-11-11
  • 在Python中字典按值排序的实现方法

    在Python中字典按值排序的实现方法

    这篇文章主要介绍了在Python中字典按值排序的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Python多线程 Queue 模块常见用法

    Python多线程 Queue 模块常见用法

    Python的Queue模块提供一种适用于多线程编程的FIFO实现。它可用于在生产者(producer)和消费者(consumer)之间线程安全(thread-safe)地传递消息或其它数据,因此多个线程可以共用同一个Queue实例。Queue的大小(元素的个数)可用来限制内存的使用
    2021-07-07
  • Django之路由层的实现

    Django之路由层的实现

    这篇文章主要介绍了Django之路由层的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • 使用Python画出小人发射爱心的代码

    使用Python画出小人发射爱心的代码

    今天小编就为大家分享一篇使用Python画出小人发射爱心的代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • python实现碑帖图片横向拼接

    python实现碑帖图片横向拼接

    这篇文章主要为大家详细介绍了python实现碑帖图片横向拼接,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • pymongo实现多结果进行多列排序的方法

    pymongo实现多结果进行多列排序的方法

    这篇文章主要介绍了pymongo实现多结果进行多列排序的方法,涉及Python排序的相关技巧,需要的朋友可以参考下
    2015-05-05

最新评论