Encoding SQLAlchemy ORM查询编码

Encoding SQLAlchemy ORM查询编码,encoding,orm,sqlalchemy,flask-sqlalchemy,utf,Encoding,Orm,Sqlalchemy,Flask Sqlalchemy,Utf,各位 你能就以下几点提出建议吗。 我正在尝试以本机格式(西里尔文)显示值 下面是我的问题 db.session.query(items.item_name).join(item_ship, item_ship.item_id == items.id).join(house_shipment, house_shipment.id == item_ship.shipment_id).first(); 结果:u'\u041c\u0443\u0436\u0441\u043a\u0430\u044f\u

各位

你能就以下几点提出建议吗。 我正在尝试以本机格式(西里尔文)显示值

下面是我的问题

db.session.query(items.item_name).join(item_ship, item_ship.item_id == items.id).join(house_shipment, house_shipment.id == item_ship.shipment_id).first();
结果:u'\u041c\u0443\u0436\u0441\u043a\u0430\u044f\u043e\u0431\u0443\u0432\u044c'

表项的默认排序规则设置为utf8\U general\U ci,下面是我的连接字符串

mysql://root:Abc123@localhost/test?charset=utf8
请帮忙


谢谢,

您的编码是正确的:

>>> print(u'\u041c\u0443\u0436\u0441\u043a\u0430\u044f \u043e\u0431\u0443\u0432\u044c')
Мужская обувь
>>> print(repr(u'Мужская обувь'))
u'\u041c\u0443\u0436\u0441\u043a\u0430\u044f \u043e\u0431\u0443\u0432\u044c'
您的主要问题是,您得到的不是字符串,而是包含第一个结果行的对象。所以你得到了物体的反射。 将查询末尾的.first更改为.scalar。将返回第一行的第一列。
作为另一个变体,您可以访问row对象并从中提取字符串。

在我看来像西里尔语:mapunicodedata.name,u'\u041c\u0443\u0436\u0441\u043a\u0430\u044f'Out[4]:[西里尔字母大写字母EM”,“西里尔字母小写字母U”,“西里尔字母ZHE”,“西里尔字母小写字母ES”,“西里尔字母KA”,“西里尔字母小写字母A”,“西里尔字母YA']谢谢。我已经猜到了。下次我会尝试更详细地描述。