Python 2.7、Appengine 数据存储和 Unicode

2024-02-26

所以今晚我读了很多关于 Unicode 的内容,因为我正在考虑切换到 Jinja2,它要求在应用程序中的任何地方都使用 Unicode。我想我很清楚如何处理它,但在开始编写我的应用程序之前我想听听这是否合理:

  1. 处理外部文本输入(通过 html 表单)

    a) 确保所有 html 页面均采用 utf-8 编码。
    b) 一旦用户按下提交,请确保 python 后端收到数据后立即将其转换为 Unicode...decode(self.request.get('stuff'),utf-8)
    c) 保持 unicode,将输出传输到 Jinja2,它将始终使用默认编码 utf-8。

  2. 来自 appengine 数据存储区的信息

    因为 google 将所有内容存储为 Unicode,所以从数据存储区传入的所有数据都已经是 unicode,我不必担心任何事情(耶!)

  3. 应用程序内的字符串

    确保所有“”都以 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(使用前将#替换为@)

Python 2.7、Appengine 数据存储和 Unicode 的相关文章

随机推荐