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

#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编码的项(如安装过阿里旺旺,它会在注册表里这个位置加入一个 “.阿里旺旺的可疑文件”这一项);
 
以上方案选其中一个即可;
上一篇:(转载)SAPI 包含sphelper.h编译错误解决方案


下一篇:hadoop编程技巧(3)---定义自己的区划类别Partitioner