Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 4, 2008 20:35:05

wistful
От:
Зарегистрирован: 2008-07-10
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb cp1251 кирилица

python 2.5.2
в базе использую кодировку “cp1251”.
данные содержат русские символы.
после создания соединения с базой устанавливаю: charset_connection и charset_client в “cp1251”
в качестве gui к MySQLdb использую Toad.
В Toad-е все отображается в нужной мне кодировке. (т.е. я вижу кирилицу)
В питоне данные возвращаются в юникоде.
при выводе на консоль русские символы отображаются как “?????????”
“????”.encode('cp1251') не помогает.

пробовал при соединении указывать еще и character_results = “cp1251” - не помогло.

в коде программы везде указано: # -*- coding: cp1251 -*-

где закопалась собака ?



Офлайн

#2 Дек. 5, 2008 19:39:44

wistful
От:
Зарегистрирован: 2008-07-10
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb cp1251 кирилица

проблема решилась.
скрипт с установкой настроек charset не корректно отрабатывал. (не срабатывало character_results = “cp1251” ). Переписал - теперь все работает.
Также заметил что лучше при созздании соединения указывать использование unicode (use_unicode = True).



Офлайн

#3 Дек. 6, 2008 23:56:12

Lolka
От:
Зарегистрирован: 2007-09-29
Сообщения: 128
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQLdb cp1251 кирилица

Давно заметил, что лучше вообще использовать юникод кругом и всюду, впрочем, это не в тему, да и спорно :)
Нет, в самом деле, сколько можно…



Отредактировано (Дек. 6, 2008 23:58:51)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version