无法将希腊语存储在数据存储区中

时间:2013-06-05 16:25:15

标签: python google-app-engine python-2.7 jinja2

我的谷歌应用引擎应用程序存在严重问题。到目前为止,我存储在数据库中的任何内容都是英文的。现在我必须用希腊语存储一些东西,当我尝试稍后从数据库中检索它时,我有一个u'\u039a\u03b1\u03b9\u03c1\u03cc\u03c2'而不是字符串。

到现在为止,当我想在html上添加一些内容时,我使用了以下内容

error = unicode(error,"utf-8")

但是在我将数据存储到数据之前,我尝试将其正确放置,但没有帮助

修改

我只是看到一些让我更加困惑的事情。我从html表单中获取这些字符串。我有许多投入,希腊的作品很棒。但是那些产生问题的是"select"标签,我会得到所有选择的列表。其他输入以希腊语存储在数据库中,没有任何问题。

编辑2:

我想从评论中编辑一些内容。我犯了一个错误。如果我打印变量,我可以看到字符串没有问题。但是如果我self.response.out.write(thestring),我会看到%CE%9A%CE%BF%CE%B9%CE%BD%CF%89%CE%BD%CE%B9%CE%BA%CE%AC

1 个答案:

答案 0 :(得分:0)

我可以在谷歌应用引擎中存储和检索希腊语,但在我这样做之前它对我不起作用:

name = unicode(form.name.data, "utf8")

我可以在Google应用引擎中存储希腊语,所以为什么不这样做呢。说起来容易做起来难,但是到处使用utf-8然后它就会起作用。您将需要像您这样的网页代码:

<html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

您还需要指示您的输入表单将其编码为utf-8,但我不会使用appengine进行编码,但我仍然可以存储希腊语。我只是通过实验找到了这个,如果你想要理论,你可以阅读these slides