Форум сайта python.su
python 2.5.2
в базе использую кодировку “cp1251”.
данные содержат русские символы.
после создания соединения с базой устанавливаю: charset_connection и charset_client в “cp1251”
в качестве gui к MySQLdb использую Toad.
В Toad-е все отображается в нужной мне кодировке. (т.е. я вижу кирилицу)
В питоне данные возвращаются в юникоде.
при выводе на консоль русские символы отображаются как “?????????”
“????”.encode('cp1251') не помогает.
пробовал при соединении указывать еще и character_results = “cp1251” - не помогло.
в коде программы везде указано: # -*- coding: cp1251 -*-
где закопалась собака ?
Офлайн
проблема решилась.
скрипт с установкой настроек charset не корректно отрабатывал. (не срабатывало character_results = “cp1251” ). Переписал - теперь все работает.
Также заметил что лучше при созздании соединения указывать использование unicode (use_unicode = True).
Офлайн
Давно заметил, что лучше вообще использовать юникод кругом и всюду, впрочем, это не в тему, да и спорно :)
Нет, в самом деле, сколько можно…
Отредактировано (Дек. 6, 2008 23:58:51)
Офлайн