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')