gpt4 book ai didi

mysql - App Engine 在线处理字符编码与本地处理字符编码的方式是否不同?

转载 作者:行者123 更新时间:2023-11-29 18:38:24 25 4
gpt4 key购买 nike

我编写了一个小型 Web 应用程序,它从简单的 mysql 数据库中提取数据并通过 Python 和 Flask 显示它。数据库中的文本字段编码为 utf8_general_ci,有些包含特殊字符 - 例如“Zürich”。

作为 Flask/Jinja2 like to work on unicode ,查询后字符串将转换为 unicode 以传递到模板中。奇怪的是我需要一种不同的方法来转换为 unicode,具体取决于代码是在本地运行(Mac 笔记本电脑)还是部署在 GAE 上。

这在本地运行时有效:

return [[unicode(c, encoding='utf-8') if isinstance(c, basestring) else c for c in b] for b in l]

这在部署在 GAE 上时有效:

return [[unicode(c, encoding='latin-1') if isinstance(c, basestring) else c for c in b] for b in l]

.

如果我在本地运行 GAE 版本,“Zürich”将显示为“Zürich”。反之亦然,我收到 UnicodeDecode 错误。

据我所知,这两个数据库是相同的 - 在线版本是本地版本的直接转储。

最佳答案

üü 的 Mojibake。

参见here中的“Mojibake”讨论可能的原因。

参见here有关 Python 源代码中的操作的注释。我不知道 Jinja 的具体情况。

关于mysql - App Engine 在线处理字符编码与本地处理字符编码的方式是否不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45095761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com