2011-02-28 24 views
0

我从www.allbuttonspressed.com下载djangoappengine工程样品django-guestbook,以测试它的工作原理,但显示以下错误消息,当我访问URL本地主机:8000UnicodeEncodeError上djangoappengine

Traceback (most recent call last):
File "/usr/local/google_appengine/google/appengine/tools/dev_appserver.py", line 3245, in _HandleRequest self._Dispatch(dispatcher, self.rfile, outfile, env_dict) File "/usr/local/google_appengine/google/appengine/tools/dev_appserver.py", line 3186, in _Dispatch base_env_dict=env_dict) File "/usr/local/google_appengine/google/appengine/tools/dev_appserver.py", line 531, in Dispatch base_env_dict=base_env_dict) File "/usr/local/google_appengine/google/appengine/tools/dev_appserver.py", line 2410, in Dispatch self._module_dict) File "/usr/local/google_appengine/google/appengine/tools/dev_appserver.py", line 2299, in ExecuteCGI os.environ.update(env) File "/usr/lib64/python2.6/os.py", line 486, in update self[k] = dict[k] File "/usr/lib64/python2.6/os.py", line 471, in setitem putenv(key, item) UnicodeEncodeError: 'ascii' codec can't encode character u'\xe1' in position 19: ordinal not in range(128)

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

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

回答

1

好U“\ XE1”是重音符号的小写字母A - >一个

所以我的猜测是,也许你在配置文件中使用这个角色,或者你已经保存在目录中的项目那有它的性格?然后,应用引擎正在尝试在环境变量名称中使用该名称,并且该名称必须是ASCII。

+0

我已经搜查了该项目的字符“A”文件夹和谷歌appegine文件夹,但不幸的是没有发现。另一个建议?谢谢! – gabrieloliverio 2011-03-01 00:46:22

+0

我会用App Engine提交错误报告;理想情况下,SDK将执行某种规范化操作以从环境变量名称中删除非法字符。 – geoffspear 2011-03-01 13:01:26

0

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

不知道怎么说应用的工作方式,但肯定的是,你已经写了一个地方(假定应用程序代码是确定)