2013-06-05 50 views
4

我的谷歌應用程序引擎應用程序存在嚴重問題。到目前爲止,我在數據庫上存儲的任何東西都是英文的。現在我必須在希臘語上存儲一些東西,當我稍後從數據庫中嘗試檢索它時,我有一個「u'\ u039a \ u03b9 \ u03c1 \ u03cc \ u03c2'」而不是字符串。不能在數據存儲區中存儲希臘文

直到現在,當我想放的東西上的HTML我用下面的一個

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

但我想它把它的權利之前,我將它存儲上的數據,但不利於

編輯:

我剛纔看到的東西,弄得我更多。這些字符串我從html表單中獲得。我有很多投入,希臘的工作很棒。但那些造成這個問題的人,都在一個「選擇」標籤上,我可以得到所有選擇的列表。其他輸入存儲在希臘語數據庫中沒有任何問題。

編輯2:

我想編輯從意見的東西。我犯了一個錯誤。如果我打印這個變量,我可以看到沒有問題的字符串。但是如果我self.response.out.write(thestring),我看到%CE%9%CE%BF%CE%B9%CE%BD%CF%89%CE%BD%CE%B9%CE%BA% CE%AC

+0

您正在使用哪個版本的Python? Python 3.x處理unicode與2.x不同。 – jpaugh

+0

此外,我很確定Python的repl不會在unicode打印的時候解碼('u「...」'表單)。當你打印它時它工作嗎?如果沒有,你必須設置輸出文件的編碼(比如'sys.stdout')。 – jpaugh

+0

我有python 2.7。此外,如果我嘗試打印它,則看起來如下所示:%CE%9A%CE%BF%CE%B9%CE%BD%CF%89%CE%BD%CE%B9%CE%BA%CE%AC – Tasos

回答

0

我可以存儲和谷歌應用程序引擎檢索希臘,但它並沒有爲我工作,要麼到我這樣做:

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

我可以存儲在谷歌應用程序引擎希臘爲什麼不像我這樣做。說起來容易做起來難,但到處都是使用utf-8,然後才能正常工作。您需要爲您的網頁的代碼如下所示:

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

您還可以根據需要來指導你的輸入形式將其編碼爲UTF-8,但我不AppEngine上做到這一點,我仍然能存儲希臘語。我只通過實驗發現了這一點,如果你想要這個理論,你可以閱讀these slides

+0

我可以存儲在希臘語中,但只有簡單的輸入。如果我從「select」html標記中檢索數據,那麼這些數據就像我在第一篇文章中所說的那樣存儲。 – Tasos