Python中中文乱码问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中中文乱码问题相关的知识,希望对你有一定的参考价值。
验证中文乱码时:遇到个问题,下面这两种情况有什么不一样
a = '哈哈'
b = a.encode('utf-8')
发现报错
a = u'哈哈'
b = a.encode('utf-8')
"哈哈"前有u和没u有什么区别
b = a.encode('utf-8')
以上你的代码是UTF8编码吧,a本来就是UTF8编码,你在给它编码干嘛,encode是编码,decode是解码,你不报错没天理。
a = u'哈哈'
b = a.encode('utf-8')
a是U编码类型也就是你上一个没加U的哈哈的解码,它肯定不会保存! 参考技术B python2里面,默认编码方式是ASCII,加u是强制unicode,所以不加U的时候用UTF-8编码会出错,python3里面已经默认编码是unicode,不需要加u了本回答被提问者采纳
Python 爬虫过程中的中文乱码问题
python+mongodb
在爬虫的过程中,抓到一个中文字段,encode和decode都无法正确显示
注:以下print均是在mongodb中截图显示的,在pythonshell中可能会有所不同
比如中文 “余年”,假设其为变量a
1. print a 结果如下:
使用type查询之后,显示的确是unicode编码(正常情况下讲unicode编码内容直接存入mongodb中是可以正常显示的)
2. print type(a) 结果如下:
3. print a.encode(‘utf-8‘) 结果如下:
然后查看a的unicode编码,是这种格式 u‘‘\xe4\xbd\x99\xe5\xb9\xb4"
解决办法:
a = a.encode(‘ISO 8859-1‘)
这样将a的由unicode的type变成了str类型的type
然后就可以正确的保存到mongodb中了
Reference:
http://blog.csdn.net/myheadfirst/article/details/46635197
以上是关于Python中中文乱码问题的主要内容,如果未能解决你的问题,请参考以下文章