Google App Engine:Python UnicodeDecodeError

时间:2014-05-30 09:23:25

标签: python google-app-engine

我正在尝试使用Google App Engine设置基本原型,并且在尝试部署时,Google App Engine Launcher出现以下错误:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 in position 2: ordinal not in range(128)

我找到this related SO thread,但我不太确定如何在我的示例中正确指定解码。我正在使用以下Python代码:

import os
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
from google.appengine.ext.webapp import template

class MainHandler(webapp.RequestHandler):
  def get (self, q):
    if q is None:
      q = 'index.html'

    path = os.path.join (os.path.dirname (__file__), q)
    self.response.headers ['Content-Type'] = 'text/html'
    self.response.out.write (template.render (path, {}))

def main ():
  application = webapp.WSGIApplication ([('/(.*html)?', MainHandler)], debug=True)
  util.run_wsgi_app (application)

if __name__ == '__main__':
  main ()

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

确保index.html与您的编辑器是unicode(' utf-8'编码)。

我建议您使用webapp2,jinja和WSGI,因为webapp(django)模板已被删除。 现在,您将旧版Python 2.5编码用于app引擎。

文档: