python乱码 python中文乱码的解决办法
人气:0想了解python中文乱码的解决办法的相关内容吗,在本文为您仔细讲解python乱码的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:python,下面大家一起来学习吧。
乱码原因:
源码文件的编码格式为utf-8,但是window的本地默认编码是gbk,所以在控制台直接打印utf-8的字符串当然是乱码了!
解决方法:
1、print mystr.decode('utf-8').encode('gbk')
2、比较通用的方法:
import sys
type = sys.getfilesystemencoding()
print mystr.decode('utf-8').encode(type)
1. Python中列表或字典输出乱码的解决方法
问题: Python中的列表(list)或字典包含中文字符串,直接使用print会出现以下的结果:
#打印字典 dict = {'name': '张三'} print dict >>>{'name': '\xe5\xbc\xa0\xe4\xb8\x89'} #打印列表 list = [{'name': '张三'}] print list >>>[{'name': '\xe5\xbc\xa0\xe4\xb8\x89'}]
解决方案:
使用以下方法进行输出:
import json #打印字典 dict = {'name': '张三'} print json.dumps(dict, encoding="UTF-8", ensure_ascii=False) >>>{'name': '张三'} #打印列表 list = [{'name': '张三'}] print json.dumps(list, encoding="UTF-8", ensure_ascii=False) >>>[{'name': '张三'}]
2. Python2.7的UnicodeEncodeError: ‘ascii' codec can't encode异常错误
#重置编码格式 import sys reload(sys) sys.setdefaultencoding('utf-8')
加载全部内容