UnicodeDecodeError: кодек 'ascii' не может декодировать байт 0xe0 в позиции 0: порядковый номер не входит в диапазон (128)

На одной из моих машин возникает ошибка, когда я работаю с движком приложений Google или django.

Например:

  • app.yaml

     application: demas1252c
    версия: 1
    время выполнения: питон
    api_version: 1
    
    
    обработчики:
     - url: / images
    static_dir: изображения
     - URL: / css
    static_dir: css
     - URL: / js
    static_dir: js
     - url: /.*
    скрипт: demas1252c.py
    
  • demas1252c.py

     импорт cgi
    импортировать wsgiref.handlers
    
    
    из шаблона импорта google.appengine.ext.webapp
    из google.appengine.ext импортировать веб-приложение
    
    
    класс MainPage (webapp.RequestHandler): 
    def get (self):
    values ​​= {'id': 10}
    
    
    self.response.out.write (template.render ('foto.html', значения))
    
    
    application = webapp.WSGIApplication ([('/', MainPage)], debug = True)
    wsgiref.handlers.CGIHandler (). run (приложение)
    
  • foto.html

     
    
      
     некоторые 
    
    

сообщение об ошибке:

C:\artefacts\dev\project>"c:\Program Files\Google\google_appengine\dev_appserver.py" foto-hosting
Traceback (most recent call last):
  File "c:\Program Files\Google\google_appengine\dev_appserver.py", line 69, in <module>
    run_file(__file__, globals())
  File "c:\Program Files\Google\google_appengine\dev_appserver.py", line 65, in run_file
    execfile(script_path, globals_)
  File "c:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_main.py", line 92, in <module>
    from google.appengine.tools import dev_appserver
  File "c:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 140, in <module>
    mimetypes.add_type(mime_type, '.' + ext)
  File "C:\Python27\lib\mimetypes.py", line 344, in add_type
    init()
  File "C:\Python27\lib\mimetypes.py", line 355, in init
    db.read_windows_registry()
  File "C:\Python27\lib\mimetypes.py", line 260, in read_windows_registry
    for ctype in enum_types(mimedb):
  File "C:\Python27\lib\mimetypes.py", line 250, in enum_types
    ctype = ctype.encode(default_encoding) # omit in 3.x!
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)

Когда я работаю со статическими файлами в django (без gae), у меня очень похожая ошибка (с другим стеком).

Я попытался найти причину ошибки и добавил код в миметипы. py:

print '====='
print ctype
ctype = ctype.encode(default_encoding) # omit in 3.x!

Затем в консоли появляются следующие сообщения:

=====
video/x-ms-wvx
=====
video/x-msvideo
=====
рєфшю/AMR
Traceback (most recent call last):

В реестре HKCR / Mime / Database / ContentType / у меня пять ключей с русскими (кириллическими) буквами. Но как я могу исправить эту ошибку?

34
задан demas 21 November 2010 в 13:07
поделиться