我有一个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