出于对*的兴趣,看了python,后来又想了解一下gae,于是就按照gae python创建hello world应用程序,可是一开始就遇到这样一个问题:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal not in range(128)
google发现这是python 2.7的一个bug:
This is a bug in mimetypes, triggered by bad data in the registry. (рєфшю/AMR is not at all a valid MIME media type.)
解决方案如下:
Index: Lib/mimetypes.py
===================================================================
--- Lib/mimetypes.py (revision 85786)
+++ Lib/mimetypes.py (working copy)
@@ -27,6 +27,7 @@
import sys
import posixpath
import urllib
+from itertools import count
try:
import _winreg
except ImportError:
@@ -239,19 +240,11 @@
return def enum_types(mimedb):
- i = 0
- while True:
+ for i in count():
try:
- ctype = _winreg.EnumKey(mimedb, i)
+ yield _winreg.EnumKey(mimedb, i)
except EnvironmentError:
break
- try:
- ctype = ctype.encode(default_encoding) # omit in 3.x!
- except UnicodeEncodeError:
- pass
- else:
- yield ctype
- i += 1 default_encoding = sys.getdefaultencoding()
with _winreg.OpenKey(_winreg.HKEY_CLASSES_ROOT,
改过后,经测试,app正常运行。
cite:
http://s2.codeinspot.com/q/1402649