解决Python2.7的UnicodeEncodeError: 'ascii' codec can't encode异常错误
2024-09-06 18:38:54
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
import sys
print (sys.getdefaultencoding()) # ascii
基本上是ascii编码方式,由此Python自然调用ascii编码解码程序去处理字符流,当字符流不属于ascii范围内,就会抛出异常(ordinal not in range(128))
解决方案很简单,就给默认的编码模式,可以使用sys.setdefaultencoding('uft-8') 来将当前的字符处理模式修改为utf-8编码模式,如果单纯这么调用python会抛出一个AttributeError异常:
AttributeError: 'module' object has no attribute 'setdefaultencoding'
竟然说sys没有setdefaultencoding方法,如果需要解决这个问题需要使用:reload(sys)
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
同样的方式也可以应用在UnicodeDecodeError 上,如果还是觉得不靠谱,可以将python2 升级为python3。
最新文章
- android studio 生成aar包并在其他工程引用 (导入)aar包
- chrome 问题
- JS自定义属性兼容
- Application中捕获APP中的全局异常
- Qt 框架 开发HTTP 服务器 开发记录
- WebView的写法
- mongodb 安装为windows服务
- 使用 maven:archetype 创建JSF2 + EJB3.1 + JPA2项目骨架并在JBoss WildFly 8.1上部署
- Python教程(2.4)——字符串
- Codeforces 803C. Maximal GCD
- lucene搜索之高级查询
- 【算法】php计算数字k在一段数字范围出现的次数
- Python基础-修改excel、redis、接口开发、组织代码
- Spring的介绍与搭建
- LeetCode算法题详解之两个数组的交集
- 使用SharedPreferences存储数据
- C语言二分查找
- poj2531(深搜剪枝)
- Java代码在本地运行没有问题。上传到阿里云服务器后。出现了中文乱码解决
- Axis2创建WebService实例