python2(中文编码问题):UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1...
python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128),python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式。
查询系统默认编码可以在解释器中输入以下命令:
python代码
>>>sys.getdefaultencoding()
设置默认编码时使用:
python代码
>>>sys.setdefaultencoding('utf8')
可能会报AttributeError: 'module' object has no attribute 'setdefaultencoding'的错误。执行reload(sys),再执行以上命令就可以顺利通过。
此时再执行sys.getdefaultencoding()就会发现编码已经被设置为utf8的了,但是在解释器里修改的编码只能保证当次有效,在重启解释器后,会发现,编码又被重置为默认的ascii了。
有2种方法设置python的默认编码:
一个解决的方案在程序中加入以下代码:
Python代码
# encoding=utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
另一个方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为:
cd /usr/lib64/python2.7/site-packages/
chmod 755 sitecustomize.py
Python代码
# encoding=utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
此时重启python解释器,执行sys.getdefaultencoding(),发现编码已经被设置为utf8的了,多次重启之后,效果相同,这是因为系统在python启动的时候,自行调用该文件,设置系统的默认编码,而不需要每次都手动的加上解决代码,属于一劳永逸的解决方法。
转载于:https://www.cnblogs.com/liqing1009/p/9093621.html
python2(中文编码问题):UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1...相关推荐
- 成功解决Python3版UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0x90 in position 614: ordinal not in
成功解决Python3版UnicodeDecodeError: 'ascii' codec can't decode byte 0x90 in position 614: ordinal not in ...
- python报错:UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe0 in position 0: ordinal not in rang
在执行下面这段代码是,报错:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in ...
- 解决UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(12
方案一: 今天做网页到了测试和数据库交互的地方,其中HTML和数据库都是设置成utf-8格式编码,插入到数据库中是正确的,但是当读取出来的时候就会出错,原因就是Python的str默认是ascii编码 ...
- UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 46: ordinal
pip install manager 报编码错误 UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 46: o ...
- Python报错UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe0 in position 0: ordinal not in range
Windows 7机器上安装Python2.7后,下载一些Package包进行setup时总是报错UnicodeDecodeError,如下: File "C:\Python27\lib\m ...
- UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128) 最近 ...
- Python之——UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0 解决办法
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/78976807 最近在用Python处理一些中文数据时,报出了如下错误: Unico ...
- letsencrypt nginxparser.py UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe2 in position 29:
letsencrypt nginxparser.py UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 29: ...
- 解决UnicodeDecodeError:'ascii' codec can't decode byte 0xe2 in position 123: ordinal not in range(128)
解决UnicodeDecodeError:'ascii' codec can't decode byte 0xe2 in position 123: ordinal not in range(128) ...
最新文章
- 9.QT事件机制源码时序分析(上)
- python 获取mysql中所有数据库名称
- ASP.NET MVC 5 入门教程 (2) 控制器Controller
- Unity新手教程:Roll-a-Ball游戏开发中的使用
- 获取GridView中RowCommand的当前选中行的索引或主键Id
- iframe高度自适应的实现
- 【Swift】iOS UICollectionView 计算 Cell 大小的陷阱
- linux系统USB转网卡驱动异常,usb 网卡驱动安装问题(芯片AX88772B)
- windows下 PHP 安装
- 系统架构设计师-考试大纲
- 电池型号 常见的电池型号有哪些
- Pseudo Labelling
- 微信小程序——使用加速计实现水平仪功能,另介绍一款硬件数据监听工具(加速计、陀螺仪、设备方向)
- 图扑国风设计 3D 可视化 | 科技与文化碰撞炫酷”火花“
- 小米手机小技巧:小米手机心率测试
- MBR生活污水处理设备常见参数的具体作用
- 支付宝出安全漏洞,买了账户安全险的也要小心
- 利用Java求解“鸡兔同笼问题”:鸡和兔在一个笼子里,共有腿100条,头40个,问鸡兔各有几只?
- 迅软信息签约安龙基因医药技术构建医药行业防护体
- 深度自动编码器(Deep Auto-encoder)
热门文章
- MAC YII 安装步骤
- 好像最近买了很多东西
- Spring Boot WebFlux 全局异常处理(404,500)解决IllegalArgumentException: Property 'message...
- linux内存之buff/cache
- 【扩展推荐】Intervention/image 图片处理
- 必看,经典sql面试题(学生表_课程表_成绩表_教师表)
- msvcr100.dll丢失原因及解决方法
- 打包phar文件过大的问题。
- EBS R12中如何使用CGI登录Form
- java 和 mysql 获取周 星期 的第一天 最后一天 或者 月的 日期(字符串转日期,日期转字符串,日期加减)...