json.dumps输出的中文乱码问题

json.dumps输出的中文乱码问题

name的中文被输出为unicode代码了

# 输出文件
{
  "gns": {
    "DSG": "ADM3",
    "ADM1": "33",
    "UNI": "9040637",
    "UFI": "-1898270"
  },
  "name": "\u6e1d\u4e2d\u533a",
  #...

解决方法

添加参数ensure_ascii=False

fo.write(json.dumps(el, indent=2, ensure_ascii=False, encoding="utf-8"))

Ref: https://stackoverflow.com/questions/18337407/saving-utf-8-texts-in-json-dumps-as-utf8-not-as-u-escape-sequence/18337754

原文地址:https://blog.51cto.com/14343353/2396947

时间: 2024-08-28 02:50:08

json.dumps输出的中文乱码问题的相关文章

iOS 中json解析数据出现中文乱码的问题

一般服务器的编码格式都是UTF8,这样通过json解析下来的的数据,一般中文是不会出现乱码,但是如果服务器的编码格式不是UTF8,通过json解析的数据中的中文容易出现luan乱码,怎么解决这个问题呢? 一般都是通过转码来解决,但是直接转码,是不能达到效果的,例如 [jsonStringstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] 这样直接转码是达不到效果的. 解析数据的时候,可以先把数据存放在NSdata对象中,

cmd命令行中logcat输出日志中文乱码

在命令行使用adb logcat命令直接输出日志中文内容显示乱码,原因是中文系统中cmd命令行窗口默认的编码是GBK,而LogCat打印的日志是UTF-8编码,所以adb logcat命令输出的中文内容显示乱码. 修改cmd命令行窗口字符编码即可解决logcat日志中文显示乱码问题: 1.cmd命令行窗口字符编码切换为UTF-8,命令行中执行:chcp 65001 2.修改cmd窗口字体属性,在命令行标题栏上点击右键,选择”属性”->”字体”,将字体修改为”Lucida Console”,点击确

springmvc 接口返回类转为json,并处理中文乱码问题

在springmvc.xml中加入下面一段 <mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <!-- 用于避免响应头过大 --> <property name="writeAcceptCharset" value

sublime text3 nodejs控制台输出结果中文乱码

在sublime text3安装完nodejs的插件后,运行console.log("你好"),发现控制台出现中文乱码,解决办法:Preferences-> Browser Packages 打开文件夹后找到  Nodejs -> Nodejs.sublime-build 改其中的encoding为utf-8即可, 默认为cp1252  1 { 2 "cmd": ["node", "$file"], 3 "

解决HttpServletResponse输出的中文乱码问题

首先,response返回有两种,一种是字节流outputstream,一种是字符流printwrite. 申明:这里为了方便起见,所有输出都统一用UTF-8编码. 先说字节流,要输出“中国",给输出流的必须是转换为utf-8的“中国”,还要告诉浏览器,用utf8来解析数据 //这句话的意思,是让浏览器用utf8来解析返回的数据 response.setHeader("Content-type", "text/html;charset=UTF-8"); S

[转] 解决HttpServletResponse输出的中文乱码问题

首先,response返回有两种,一种是字节流outputstream,一种是字符流printwrite. 申明:这里为了方便起见,所有输出都统一用UTF-8编码. 先说字节流,要输出"中国",给输出流的必须是转换为utf-8的"中国",还要告诉浏览器,用utf8来解析数据 //这句话的意思,是让浏览器用utf8来解析返回的数据 response.setHeader("Content-type", "text/html;charset=

HttpServletResponse输出的中文乱码

HttpServletResponse输出有两种格式,一种是字符流,一种是字节流. 1.字符流 // 这句话的意思,是让浏览器用utf8来解析返回的数据,即设置客户端解析的编码 response.setContentType("text/html; chartset=UTF-8"); //这句话的意思,是告诉servlet用UTF-8转码,而不是用默认的ISO8859 ,即服务端对中文的编码 response.setCharacterEncoding("UTF-8"

Springmvc返回JSON格式到页面中文乱码问题

我是通过@ResponseBody注解的方式实现json格式传到页面的方法.首先查看源代码如下图,springmvc的默认编码是“ISO-8859-1”; 而我们通常编码都是使用UTF-8, 所以我们需要在springmvc的注解配置中处理json格式的时候应该修改一下默认的编码格式. springmvc配置文件中代码如下: <mvc:annotation-driven> <mvc:message-converters register-defaults="true"

python 输出十六进制中文乱码

代码中红色字体为解决方案: 1 #-*-coding:utf-8-* 2 import csv 3 4 filename='C:\Users\yaru\Desktop\Senti_Value(1).csv' 5 6 data=[] 7 try: 8 with open(filename) as f: 9 reader = csv.reader(f) 10 header = reader.next() 11 data = [row for row in reader] 12 except csv.