sqlalchemy Юникод вопрос - PullRequest
       8

sqlalchemy Юникод вопрос

0 голосов
/ 28 февраля 2012

Привет, я делаю приложение на python с sqlalchemy и mysql 5.1.58-1ubuntu1, я могу без проблем получать данные из db, за исключением того, что я не могу читать не ascii символы, такие как è, ò или символ евро, вместо евро я получаю
\ U20ac
вот как я создаю движок для mysqlalchemy

dbfile="root:########@localhost/parafarmacie"
engine = create_engine("mysql+mysqldb://"+dbfile+"?charset=utf8&use_unicode=0")

все мои столбцы, которые работают с текстом, объявлены как Unicode, я гуглил в течение нескольких дней, но без удачи кто-то мог сказать мне, где моя ошибка? заранее спасибо

1 Ответ

2 голосов
/ 28 февраля 2012

Когда вы получаете ваши объекты Unicode из базы данных, перед тем как вывести их, вам необходимо закодировать их:

my_unicode_object.encode("utf-8")

То, что вы видите сейчас, является необработанным repr объекта Unicode, который показывает вамкодовая точка (поскольку она еще не была преобразована в байты): -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...