diff -r b02dd2a5f329 -r 35211afcd563 thirdparty/google_appengine/google/appengine/ext/webapp/__init__.py --- a/thirdparty/google_appengine/google/appengine/ext/webapp/__init__.py Fri Oct 10 06:56:56 2008 +0000 +++ b/thirdparty/google_appengine/google/appengine/ext/webapp/__init__.py Fri Oct 10 13:14:24 2008 +0000 @@ -70,6 +70,7 @@ import wsgiref.util RE_FIND_GROUPS = re.compile('\(.*?\)') +_CHARSET_RE = re.compile(r';\s*charset=([^;\s]*)', re.I) class Error(Exception): """Base of all exceptions in the webapp module.""" @@ -107,8 +108,10 @@ Args: environ: A WSGI-compliant environment dictionary. """ - charset = webob.NoDefault - if environ.get('CONTENT_TYPE', '').find('charset') == -1: + match = _CHARSET_RE.search(environ.get('CONTENT_TYPE', '')) + if match: + charset = match.group(1).lower() + else: charset = 'utf-8' webob.Request.__init__(self, environ, charset=charset,