有这样一个需求:

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

1. 设置文件头

# -*- coding:utf-8 -*-

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

db = MySQLdb.connect(host='数据库,user=用户名,passwd=密码,db='数据库, init_command="set names utf8" )

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

t = json.dumps(r, ensure_ascii=False)

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

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

[{"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)

[{"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": ""}]

我们在post请求数据时,响应的内容是json数据,但是返回的json数据中文显示有问题,变成 \uXXX的形式。这是因为中文以 unicode 编码了,而默认是以ASCII解析的,中文不在ASCII编码中,所以无法显示。

这时候我们可以用import json 然后调用json.loads() 和json.dumps()来使中文正确显示。 下面的代码(data是中文不能正常显示的json串,newjson是处理后中文正常显示的字符串)

import json

myjson=json.loads(data) #data是向 api请求的响应数据,data必须是字符串类型的

newjson=json.dumps(myjson,ensure_ascii=False)   #ensure_ascii=False 就不会用 ASCII 编码,中文就可以正常显示了

print newjson

python处理json数据 乱码报错_python json.loads json.dumps(ensure_ascii = False) 汉字乱码问题解决...相关推荐

  1. python json.loads json.dumps(ensure_ascii = False) 汉字乱码问题解决

    python json.loads json.dumps(ensure_ascii = False) 汉字乱码问题解决 python 转换为json时候 汉字编码问题 2017年03月23日 18:5 ...

  2. python处理json数据 乱码报错_python操作mysql中文显示乱码的解决方法

    本文实例展示了一个脚本python用来转化表配置数据xml并生成相应的解析代码. 但是在中文编码上出现了乱码,现将解决方法分享出来供大家参考. 具体方法如下: 1. Python文件设置编码 utf- ...

  3. python函数第二次运行报错_Python学习笔记2-函数、高级特性

    函数 调用函数 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数 >>> abs(100) 100 >>> abs(-20) 20 ...

  4. 【python】numpy数据load报错

    使用numpy.load('xxx.npy')数据时,报错UnicodeError: Unpickling a python object failed: UnicodeDecodeError 解决办 ...

  5. python 引用文件中的类 报错_Python学习笔记7 头文件的添加规则(转载)

    转载自:https://www.cnblogs.com/taurusfy/p/7605787.html ************************************************ ...

  6. python的pymssql模块的报错_python pymssql - pymssql模块官方文档的翻译

    译者注:译者博客(http://blog.csdn.net/lin_strong),转载请保留这条.此为pymssql模块version2.1.4官方文档的翻译,仅供学习交流使用,请勿用于商业用途. ...

  7. 数据导入报错:Got a packet bigger than‘max_allowed_packet’bytes的问题

    2019独角兽企业重金招聘Python工程师标准>>> 数据导入报错:Got a packet bigger than'max_allowed_packet'bytes的问题 2个解 ...

  8. 如何安装kaggle API下载数据 及报错OSError: Could not find kaggle.json. Make sure it‘s located in /home/user/解决办法

    如何安装kaggle API下载数据 及报错OSError: Could not find kaggle.json. Make sure it's located /解决办法 C:\Users\pc& ...

  9. python导入csv报错_Python 导入csv报错的解决办法

    日常做分析导数据源进python,有时候会出现报错及显示乱码的问题,今天来梳理一下常见的报错. python 代码 import pandas as pd import numpy as np df= ...

最新文章

  1. S/4HANA Product master OData
  2. HTML5 file api读取文件的MD5码工具
  3. 表面上在帮女朋友拍照,其实镜头瞄准的是......
  4. Select显示多级分类列表
  5. 直接上手!不容错过的 Visual Studio Code 十大扩展组件
  6. 大数据是国家目前急需的技术领域
  7. LeetCode Binary Tree Right Side View (DFS/BFS)
  8. Android仿人人客户端(v5.7.1)——对从服务器端(网络)获取的图片进行本地双缓存处理(流程图或活动图)...
  9. redis的基本命令
  10. 操作系统-io设备基本概念和分类
  11. 百度地图点击地图获取地址
  12. html网页内部超链接介绍
  13. cad中简单流程图制作_教你怎么制作出高逼格的专业流程图!
  14. C语言之stroke_s()
  15. pca图解读_PCA 图像识别 详解(一)
  16. 【云宏大讲坛】关键应用在超融合环境下的实践
  17. 微信解绑手机号服务器会保留吗,微信怎么解绑手机号?微信还能解绑手机号吗?...
  18. 公需科目2020快速学习_2021公需科目快速学习方法
  19. java软件工程师简历内容
  20. 友谊到底是艘什么样的小破船,那么…

热门文章

  1. 一群参与境内外赌博网站的开发的程序员被抓,网友:切勿面向监狱编程...
  2. 工行高级经理林承军:工行基于 MySQL 构建分布式架构的转型之路
  3. 开发无框架单页面应用 — 老码农的祖传秘方
  4. Hadoop数据压缩 与 数据清洗ETL
  5. Redis-字典(hash)基础
  6. MySQL数据库和Oracle数据库的区别
  7. 技术胖1-4季视频复习— (看视频笔记)
  8. Oracle的sql开发之包技术实战
  9. 人生的意义,呵!我找到了
  10. SpringCloud(第 054 篇)简单 Quartz-Cluster 微服务,采用注解配置 Quartz 分布式集群... 1