2008-11-09 4 views
0

В базе данных latin-1 у меня есть «\222\222\223\225», когда я пытаюсь вытащить это поле из моделей django, я возвращаюсь u'\u2019\u2019\u201c\u2022'.информация, казалось бы, выходит из mysqldb неправильно, python django

from django.db import connection                                                              
(Pdb)                                                                     
cursor = connection.cursor()                                                               
(Pdb)                                                                     
cursor.execute("SELECT Password from campaignusers WHERE UserID=26")                                                    
(Pdb)                                                                                                                           
row = cursor.fetchone() 

Так я шагаю в том, что и попасть в

/usr/local/python2.5/lib/python2.5/site-packages/MySQL_python-1.2.2-py2.5- линукс-i686.egg/MySQLdb/cursors.py (327) fetchone() -> (и '\ u2019 ... 1c \ u2022')

Я не могу уйти дальше в это, потому что сво яйцо, но кажется, что драйвер python MySQL интерпретирует данные не как латинские-1.

У кого-нибудь есть ключ к пониманию, что происходит?

ответ

1

Небольшой просмотр уже заданных вопросов привел бы вас к UTF-8 latin-1 conversion issues, на который было задано и ответили вчера.

BTW, я не мог вспомнить точный заголовок, поэтому я просто искал gojled на django + '\ 222 \ 222 \ 223 \ 225' и нашел его. Помните, дети, Google - ваш друг (tm).

+0

Это был мой вопрос, и хотя ответы были хорошими, я не задавал правильный вопрос. – jacob 2008-11-09 17:39:06

0

Django использует UTF-8, если вы не определяете DEFAULT_CHARSET как нечто другое. Имейте в виду, что для определения другой кодировки вам потребуется кодировать все ваши шаблоны в этой кодировке, и эта кодировка будет появляться здесь, там, например, в кодировке электронной почты, в файлах Sitemap и фидах и т. Д. Итак, IMO, самое лучшее, что вы можете сделать, это пойти в UTF-8, это сэкономит вам много головных болей с помощью Django (внутренне это все юникод, проблемы на границе вашего приложения, такие как шаблоны и ввод).