1

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

UnicodeEncodeError:'ascii' 编解码器无法在位置 356 编码字符 u'\xe9':序数不在范围内(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该类。

4

1 回答 1

2

您已经找到了解决方案。你在那里建造的是一种新的类型。所以代替Column(String...)orColumn(Unicode...)你做Column(CoercedString...).

于 2013-08-25T22:57:28.800 回答