【问题标题】:UnicodeEncodeError on djangoappenginedjangoappengine 上的 UnicodeEncodeError
【发布时间】:2011-07-06 03:45:25
【问题描述】:

我已经从 www.allbuttonspressed.com 下载了 djangoappengine 项目示例 django-guestbook 来测试它是如何工作的,但是当我访问 URL localhost:8000 时显示以下错误消息

回溯(最近一次通话最后一次):
文件 "/usr/local/google_appengine/google/appengine/tools/dev_appserver.py", 第 3245 行,在 _HandleRequest self._Dispatch(dispatcher, self.rfile, outfile, env_dict) 文件 "/usr/local/google_appengine/google/appengine/tools/dev_appserver.py", 第 3186 行,在 _Dispatch base_env_dict=env_dict) 文件 "/usr/local/google_appengine/google/appengine/tools/dev_appserver.py", 第 531 行,在调度中 base_env_dict=base_env_dict) 文件 "/usr/local/google_appengine/google/appengine/tools/dev_appserver.py", 第 2410 行,在调度中 self._module_dict) 文件 "/usr/local/google_appengine/google/appengine/tools/dev_appserver.py", 第 2299 行,在 ExecuteCGI os.environ.update(env) 文件“/usr/lib64/python2.6/os.py”,行 486,更新中 self[k] = dict[k] 文件“/usr/lib64/python2.6/os.py”,行 471,在 setitem putenv(key, item) UnicodeEncodeError: 'ascii' 编解码器 无法编码字符 u'\xe1' 位置 19:序数不在范围内(128)

我现在的 Django 版本是 1.3.0 alpha,但我首先使用 1.1.1 版本进行了测试,并且出现了同样的错误。命令 manage.py runserver 运行正常,我没有在项目目录中进行任何更改,我只是下载、解压缩并运行服务器。我也尝试部署项目(当然是在更改 app.yaml 文件之后),但又发生了另一个错误。

有人知道会发生什么吗?我连续 7 个小时尝试了我所知道的一切,但我还是个新手。提前致谢。

【问题讨论】:

    标签: python django google-app-engine djangoappengine


    【解决方案1】:

    问题正是 Marc 所说的。您使用了一个 unicode 字符,而您应该只使用 ASCII。可能在任何配置文件或数据库数据中。检查目录结构并对您编辑的文件进行 grep 以自定义它们。连接到数据库并检查您最近为该角色添加的数据。

    不知道那个应用程序是如何工作的,但可以肯定的是你已经在某个地方写了那个 á(假设应用程序代码没问题)

    【讨论】:

      【解决方案2】:

      嗯 u'\xe1' 是带重音符号的小写 A --> á

      所以我的猜测是,也许您在配置文件中使用了此字符,或者您已将项目存储在包含该字符的目录中?然后应用引擎尝试在环境变量名称中使用它,并且必须是 ASCII。

      【讨论】:

      • 我已经在项目文件夹和 google appegine 文件夹中搜索了字符“á”,但不幸的是没有找到任何出现。另一个建议?谢谢!
      • 我会向 App Engine 提交错误报告;理想情况下,SDK 会进行某种规范化以从环境变量名称中删除非法字符。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-29
      • 2017-12-22
      • 1970-01-01
      • 2013-02-20
      • 2012-09-10
      • 2014-05-19
      • 2016-09-05
      相关资源
      最近更新 更多