Информация, казалось бы, выходит из mysqldb неправильно, python django

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

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-linux-i686.egg/MySQLdb/cursors.py(327)fetchone()->(u'\u2019...1c\u2022',)

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

Кто-нибудь знает, что происходит?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
282
2

Ответы 2

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

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

это был мой вопрос, и хотя ответы были хорошими, я задавал неправильный вопрос.

jacob 09.11.2008 20:39

Точно. Я начал создавать системы поиска текста еще в каменном веке (1979) и быстро обнаружил, что словарный конфликт и формирование запросов были самыми большими препятствиями на пути к поиску нужного ответа. Если вы выполните поиск по «кошачьим болезням», вы, возможно, никогда не найдете важную статью о «кошачьих патологиях».

Peter Rowell 09.11.2008 22:02

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

Другие вопросы по теме