解决UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(12
方案一:
今天做网页到了测试和数据库交互的地方,其中HTML和数据库都是设置成utf-8格式编码,插入到数据库中是正确的,但是当读取出来的时候就会出错,原因就是Python的str默认是ascii编码,和unicode编码冲突,就会报这个标题错误。那么该怎样解决呢?
通过搜集网上的资料,自己多次尝试,问题算是解决了,在代码中加上如下几句即可。
import sys reload(sys) sys.setdefaultencoding('utf8')
http://docs.python.org/howto/unicode.html 这个是python的unicode编码API文档,英文好的同学可以看一下,加深理解。
参考资料:http://groups.google.com/group/python-cn/browse_thread/thread/f48ef745452740f6?pli=1
点击打开链接
------------------------------------------------------------------------------------------------------------------------
混淆了 python2 里边的 str 和 unicode 数据类型。
0.
你需要的是让编码用实际编码而不是 ascii
1.
对需要 str->unicode 的代码,可以在前边写上
import sys
reload(sys)
sys.setdefaultencoding(‘utf8′)
把 str 编码由 ascii 改为 utf8 (或 gb18030)
2.
python3 区分了 unicode str 和 byte arrary,并且默认编码不再是 ascii
**********************************************************************
方案二:
在Windows平台下,安装python模块时,报如下错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 in position 9: ordinal not in range(128)
解决方法:
修改mimetypes.py文件,路径位于python的安装路径下的Lib\mimetypes.py文件。在import下添加如下几行:
1
2
3
|
if sys.getdefaultencoding() != 'gbk':
reload(sys)
sys.setdefaultencoding('gbk')
|
解决UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(12相关推荐
- 解决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) ...
- UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
在Python处理字符编码时,出现了如下莫名其妙的错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ...
- 已解决UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0x8e in position 0: ordinal not in range(128)
已解决(Python编码问题)UnicodeDecodeError: 'ascii' codec can't decode byte 0x8e in position 0: ordinal not i ...
- 解决UnicodeDecodeError: 'ascii' codec can't decode byte 0xcf in position 7: ordinal not in range(128)
在Windows下同时装了Python2和Python3,但是在使用命令给pip更新的时候,出现了以下错误: 解决办法:修改mimetypes.py文件,路径位于python的安装路径下的Lib\mi ...
- 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) 最近 ...
- UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe3 in position 473: ordinal not in range(128)
故障 Collecting django-mirage-field==1.1.6 (from -r /opt/archery/requirements.txt (line 21))Downloadin ...
- UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xee in position 20: ordinal not in range(128)
利用Python读取文本数据时,有时会遇到UnicodeDecodeError: 'ascii' codec can't decode byte 0xee in position 20: ordina ...
- UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xcf in position 7: ordinal not in range(128)解决
换新电脑解决了python3和python2问题,但是pip3和pip2还是不兼容,出现下列问题: 然后解决是重新更新一下pip: python2 -m pip install --upgrade p ...
最新文章
- [HDOJ1301]Jungle Roads
- 结合EM快速解决复杂的配置问题
- VC++下命名管道编程的原理及实现
- Maven 发布到本地仓库
- MySQL的数据存储方式的概述
- STL容器及其简单应用(stack、priority_queue、vector、deuqe、list、map/multimap、set/multiset)
- 关于使用pdf.js预览pdf的一些问题
- 【转】DICOM通信 - PDU数据包(1)
- 今天装了个GPS时钟
- 网上讨论“电商平台打败了实体店”?
- 手游方舟怎么输入代码_单机方舟不能输入代码怎么回事 | 手游网游页游攻略大全...
- 170816 Ubuntu-Nvidia CUDA+Driver+cuDNN installation-Titan Xp
- vscode快速生成HTML模板
- python(decorator)
- 人工智能调度如何改变现场服务行业
- okGo框架的使用,下载列表显示
- 企业私有网络构建与运维
- 如何制作手机海报?手把手教你在线自制手机海报
- Python中5种下划线的含义
- B2B,B2C,C2C以及电子商务模式