MySql连接器(Python)与SQLAlchemy的Unicode问题

1 投票
2 回答
1251 浏览
提问于 2025-04-16 07:08

我正在使用mysql连接器(https://launchpad.net/myconnpy)和SQLAlchemy,虽然我的数据库表肯定是UTF8格式的,但返回的字符串列只是普通字符串,而不是unicode格式的。文档中没有列出mysql连接器驱动程序支持UTF8或unicode的具体参数,所以我借用了mysqldb驱动程序的设置。以下是我的连接字符串:

mysql+mysqlconnector://user:pass@myserver.com/mydbname?charset=utf8&use_unicode=0

我真的希望能继续使用这个全Python编写的mysql驱动程序。有没有什么建议?

2 个回答

-3

抱歉,我对那个连接器不太了解。我使用的是MySQL数据库,运行得很好。我也在用UTF8,没遇到什么问题。

1

在处理Unicode的Python对象时,你需要在指定字符列类型时,把可选参数convert_unicode设置为True:

users = Table('users', metadata,
              Column('id', Integer, primary_key=True)
              Column('name', String(100, convert_unicode=True))

你也可以使用Unicode类型。想了解更多细节,可以查看文档:StringUnicode

撰写回答