python中文乱码的解决方法

yipeiwu_com5年前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')

以上就是python中文乱码的解决方法的详细内容,更多关于python乱码的资料请关注【听图阁-专注于Python设计】其它相关文章!

相关文章

Python装饰器实现几类验证功能做法实例

最近新需求来了,要给系统增加几个资源权限。尽量减少代码的改动和程序的复杂程度。所以还是使用装饰器比较科学 之前用了一些登录验证的现成装饰器模块。然后仿写一些用户管理部分的权限装饰器。 比...

详解python使用Nginx和uWSGI来运行Python应用

uWSGI是一个Web应用服务器,它具有应用服务器,代理,进程管理及应用监控等功能。它支持WSGI协议,同时它也支持自有的uWSGI协议,该协议据说性能非常高,而且内存占用率低,为mod...

web.py获取上传文件名的正确方法

直接切入主题,从HTML页面上传文件,Python接收处理。但其中发现有些小问题,把它写出来,算是积累吧! HTML页面代码: 复制代码 代码如下: <form action="/...

Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析

本文实例讲述了Python面向对象程序设计类变量与成员变量、类方法与成员方法用法。分享给大家供大家参考,具体如下: 类变量与成员变量 在类中声明的变量我们称之为类变量[静态成员变量],...

Python实例方法、类方法、静态方法的区别与作用详解

本文实例讲述了Python实例方法、类方法、静态方法的区别与作用。分享给大家供大家参考,具体如下: Python中至少有三种比较常见的方法类型,即实例方法,类方法、静态方法。它们是如何定...