python - 是否可以使用 SqlAlchemy 自动解码字符串?

标签 python unicode sqlalchemy

使用 SqlAlchemy,我有一些字符串列失败,并显示

UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 356: ordinal not in range(128)

因为它们不是 Unicode。

我知道通过执行 my_string.decode('cp1252') ,它可以工作,但是是否可以定义一个方法来自动解码从数据库返回的所有字符串。

有了它,调用 my_model.my_string 将在返回和解码之前进行处理。

我调查了http://docs.sqlalchemy.org/en/rel_0_8/core/types.html#coercing-encoded-strings-to-unicode ,这似乎正是我正在寻找的,但我不知道在哪里告诉 SqlAlchemy 使用 CoerceUTF8 类。

最佳答案

您已经找到了解决方案。你在那里 build 的是一种新类型。因此,您可以使用 Column(CoercedString...),而不是 Column(String...)Column(Unicode...)

关于python - 是否可以使用 SqlAlchemy 自动解码字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18401344/

相关文章:

c++ - 在 iPhone 上使用 C++ 中的 Unicode 的最佳方式是什么?

javascript - Jquery 验证正则表达式中的 "u0080-"和 "u024F"是什么?

java - 如何在 Java 中使用 u' unicode 标记反序列化 JSON?

sqlite - 如何在 sqlalchemy 的列上创建非唯一索引?

Python odo CSV 到 SQL - 没有这样的文件或目录

Python数组减法循环回到高数而不是给出负值

Python 日期范围以及 7 天周实际开始/结束的偏移量

python - 用 matplotlib pcolor 插值

python - web2py:一个 View 中的多个表单

python - SQLAlchemy 中的 with_entities 和 load_only 有什么区别?