解决Python2.7的UnicodeEncodeError: ‘ascii‘codec can’t encode异常错误
来源:互联网 发布:油漆测哪些环保数据 编辑:程序博客网 时间:2024/05/16 19:03
代码上面应该没有什么问题,Python使用的是版本2.7,但是在运行的时候出现了异常错误UnicodeEncodeError:UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-78: ordinal not in range(128)
貌似是因为编码问题:Unicode编码与ASCII编码的不兼容,其实这个Python脚本文件是由utf-8编码的,Python默认环境编码通过下面的方法可以获取:
import sysprint sys.getdefaultencoding()# 'ascii'
基本上是ascii编码方式,由此Python自然调用ascii编码解码程序去处理字符流,当字符流不属于ascii范围内,就会抛出异常(ordinal not in range(128))。
解决的方案很简单,修改默认的编码模式,很多朋友会想到setdefaultencoding,是的,我们可以通过sys.setdefaultencoding(‘utf-8’)来将当前的字符处理模式修改为utf-8编码模式,值得注意的是,如果单纯这么调用的话,Python会抛出一个AttributeError异常:
Traceback (most recent call last): File "<stdin>", line 1, in <module>AttributeError: 'module' object has no attribute 'setdefaultencoding'
竟然说sys没有setdefaultencoding的方法,其实sys是有这个方法的,但是要调用一次reload(sys)。
import sysreload(sys)sys.setdefaultencoding('utf-8')
另外有一种解决方案是在程序中所有涉及到编码的地方,强制编码为utf8,即添加代码encode(“utf8”),这种方法并不推荐使用,因为一旦少写一个地方,将会导致大量的错误报告。
阅读全文
0 0
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 解决Python2.7的UnicodeEncodeError: 'ascii' codec can't encode异常错误
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 题目:解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- 解决Python2.7的UnicodeEncodeError: ‘ascii‘codec can’t encode异常错误
- Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode 错误
- 解决Python2.x的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- Python2.7的UnicodeEncodeError: 'ascii' codec can't encode xxxx
- Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode问题解决
- Python2.x的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
- python2.7出现[UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-11]的解决
- POJ1458---(最长公共子序列最基础题)
- eclipse不能运行Struts2项目
- trim 失效可能是圆角空格
- java 一个简单的学生信息管理系统
- spring数据格式化
- 解决Python2.7的UnicodeEncodeError: ‘ascii‘codec can’t encode异常错误
- 用qq邮箱做服务器发邮件失败,530 A secure connection is requiered(such as ssl)后解决方案如下
- 三级管
- CGLIB动态代理和JDK动态代理-Spring AOP的底层实现原理
- linux常用命令(不定期增加)
- Opengl学习笔记
- Python 3.6 NumPy一
- Java理论与实践:正确使用volatile变量
- zabbix 内置变量