我有一個db.StringProperty()mRegion設置爲一些韓國文本。我在儀表板將看到該值是明顯在韓國這樣的:谷歌應用程序引擎顯示unicode在StringProperty v StringListProperty objs?
한국:충청남도
然而,當我把這一領域,並將其添加到字符串列表屬性(db.StringListProperty()),我結束了這樣的事情:
\ ud55c \ uad6d:\ ucda9 \ uccad \ ub0a8 \ ub3c4
我有顯示我的客戶對這個文本的問題時,我有這個字符串列表屬性值輸出到客戶端,所以它使我懷疑在存儲值時服務器端是否有問題(因爲我期望它是可讀的韓文像StringProperty)。
有誰知道我可能會與此如果此第二顯示器會錯誤是在字符串列表對象只是正常,問題可能發生在我的客戶端?
謝謝。
與更新的問題更詳細: 我的客戶是一個iPhone應用程序。基本上,我使用iPhone通過反向地理編碼API獲取用戶的GPS位置信息。我將此發送給應用程序引擎並保存。這部分似乎有用,因爲在韓國,我看到了韓國人物。總之,區域名稱是這樣得到的:
region = self.request.get('region')
entry.init(region)
...
self.mRegion = region
很簡單(它的工作原理)。
如果它打破了是當我檢索數據併發送回客戶端。總結:
query = db.GqlQuery("SELECT * FROM RegionData WHERE mLatitudeCenter >= :1 and mLatitudeCenter <= :2", latmin, latmax)
for entry in query:
output += entry.mRegion + ','
self.response.out.write(output)
當我藉此,把它放在一個UILabel在客戶端,它的亂碼。此外,當我走在客戶端的亂碼值,並將其發送回服務器查找一個區域,它失敗,這樣建議,我認爲不應該發送的韓國文字也許它傳遞的再版()字符或一些東西。如果像你所說的那樣,它只是一個表現問題而不是固有數據本身,那麼也許這與我用來顯示這些數據的系統字體有關?我曾經想過,我錯過了正確的調用encode()或decode()的地方,但不知道。
謝謝,我添加了更多細節。 – Joey 2010-06-22 14:31:04
更新了我的回覆。 – 2010-06-22 16:22:38
感謝您的澄清和偉大的聯繫。你的第二段確實解決了這篇文章的原始問題,所以這足以讓我考慮它的答案。我最終找到了問題的原因,結果證明我的客戶端以ASCII和UTF-8格式錯誤地編碼了服務器響應。看起來,儘管它在管理界面中可見,但數據存儲中的字符串確實是相同的,並且仍然正確。 – Joey 2010-06-22 17:18:53