所以今晚我读了很多关于 Unicode 的内容,因为我正在考虑切换到 Jinja2,它要求在应用程序中的任何地方都使用 Unicode。我想我很清楚如何处理它,但在开始编写我的应用程序之前我想听听这是否合理:
-
处理外部文本输入(通过 html 表单)
a) 确保所有 html 页面均采用 utf-8 编码。
b) 一旦用户按下提交,请确保 python 后端收到数据后立即将其转换为 Unicode...decode(self.request.get('stuff'),utf-8)
c) 保持 unicode,将输出传输到 Jinja2,它将始终使用默认编码 utf-8。
-
来自 appengine 数据存储区的信息
因为 google 将所有内容存储为 Unicode,所以从数据存储区传入的所有数据都已经是 unicode,我不必担心任何事情(耶!)
-
应用程序内的字符串
确保所有“”都以 u 开头(即 u“hello world”),这将强制所有内容都采用 unicode。
以上是我保持一切一致的策略。还有什么我需要考虑的吗?
thanks!
如果您使用 webapp 或 webapp2,则不需要 .decode(self.request.get('stuff'),utf-8。框架尊重指定的数据输入类型。
其他一切看起来都不错。
我也相信
from __future__ import unicode_strings
应该
from __future__ import unicode_literals
并且仅在 2.6 和 2.7 中可用,因此在 App Engine 中,仅当您使用 2.7 时才可用
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)