博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python json.dumps() 中文乱码问题
阅读量:5134 次
发布时间:2019-06-13

本文共 697 字,大约阅读时间需要 2 分钟。

python 输出一串中文字符,在控制台上(控制台使用UTF-8编码)通过print 可以正常显示,但是写入到文件中之后,中文字符都输出成ascii编码了。英文字符能正常显示可读字符。

原因:json.dumps 序列化时默认使用的ascii编码,想输出真正的中文需要指定ensure_ascii=False:更深入分析,是应为dJSON object 不是单纯的unicode实现,而是包含了混合的unicode编码以及已经用utf-8编码之后的字符串。

可行的方式如下:

1 import os 2 import os.path 3 import io 4 import sys 5 import json 6  7 contentByPage = {} 8 contentByPage['document'] = shortName 9 contentByPage['content'] = text10 contentByPage['pageNumber'] = pageNumber11 jsonFile = io.open(shortName+"--"+str(pageNumber)+".json",'w', encoding='utf8')12 jsonFile.write(json.dumps(contentByPage, ensure_ascii=False).decode('utf8'))13 jsonFile.flush()14 jsonFile.close()

 

转载于:https://www.cnblogs.com/geektown/p/5144017.html

你可能感兴趣的文章
STM32F10x_RTC秒中断
查看>>
display:none和visiblity:hidden区别
查看>>
C#double转化成字符串 保留小数位数, 不以科学计数法的形式出现。
查看>>
牛的障碍Cow Steeplechase
查看>>
Zookeeper选举算法原理
查看>>
3月29日AM
查看>>
利用IP地址查询接口来查询IP归属地
查看>>
HTML元素定义 ID,Class,Style的优先级
查看>>
构造者模式
查看>>
http和https的区别
查看>>
Hbuild在线云ios打包失败,提示BuildConfigure Failed 31013 App Store 图标 未找到 解决方法...
查看>>
找到树中指定id的所有父节点
查看>>
今天新开通了博客
查看>>
AS3优化性能笔记二
查看>>
ElasticSearch(站内搜索)
查看>>
4----COM:a Generative Model for group recommendation(组推荐的一种生成模型)
查看>>
UVA 11137 - Ingenuous Cubrency
查看>>
js阻止事件冒泡的两种方法
查看>>
Java异常抛出
查看>>
[SQL Server 系] T-SQL数据库的创建与修改
查看>>