Python运行Google App Engineer时出现的UnicodeDecodeError错误解决方案

时间:2023-11-22 10:38:26

#Python运行Google App Engineer时出现的UnicodeDecodeError错误解决方案

##问题描述
使用Python2.7.x运行GAE时有时会报这个错误
```py
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal not in range(128)
```
这个错误发生在 File "\Python27\lib\mimetypes.py", line 249, in enum_types下
##问题起因
这个问题出现的原因是Python作者不知为何要从注册表中读取MimeTypes,并强制转码为ascii编码,读取路径是“HKEY_CLASSES_ROOT/”,读取其下所有的MimeType,但是如果读取到非ascii编码的MimeType就会发生转换错误
##解决方案
1. 使用Python 3.x的版本(GAE不适用,因为GAE目前只支持2.7.x的版本)
3. 删除注册表 HKEY_CLASSES_ROOT下非ascii编码的项(如安装过阿里旺旺,它会在注册表里这个位置加入一个 “.阿里旺旺的可疑文件”这一项);
以上方案选其中一个即可;