Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 23, 2013 15:36:26

garch
Зарегистрирован: 2013-01-02
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4 проблема кодировок

Добрый день уважаемые друзья и коллеги. Хочу в очередной раз попросить у Вас помощи, совета. Разрабатываю клиент для работы с БД (Postgresql) на PyQT4. Все вроде ничего но вот как дело дошло до вывода данных из базы в приложение, начались проблемы с кодировкой. БД UTF-8, кодировка Python выбран тоже в UTF-8, разработку осуществляю на Win XP. Данные вывожу в QTableWidget. И получается следующее. В заголовке таблицы русские буквы 100% -я ошибка: UnicodeDecodeError: ‘charmap’ codec can't decode byte 0x98 in position 2610: character maps to <undefined>/ Если просто вставляю в таблицу данные, выводит какой-то мусор .Что только не пробовал…. Идеи закончились …. Может кто сталкивался с такой вот штукой, подскажите. Спасибо.

Офлайн

#2 Авг. 24, 2013 09:56:10

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

PyQt4 проблема кодировок

может перед записью в бд из виджета использовать .encode('utf-8'), и возможно в самом редакторе кода, кодировка другая стоит?

Офлайн

#3 Авг. 24, 2013 21:10:22

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

PyQt4 проблема кодировок

Перед тем как пихать данные в QT-объекты, проверить, что данные корректные (в консольку вывести например), далее попробовать два варианта: пихать utf-8 и пихать unicode, возможно, ещё можно как-то заворачивать в QT-строковые типы. Я не знаю точно, не работал с QT.

Офлайн

#4 Авг. 27, 2013 11:14:26

garch
Зарегистрирован: 2013-01-02
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4 проблема кодировок

Спасибо всем кто ответил! Попробовал все предложенные варианты, и остановился на следующем…
# -* coding: cp1251-*- и кодировка используемая в файле программы тоже cp1251. До передачи данных в базу еще не дошел, но из базы которая находится в кодировке UTF-8 данные выгружаются нормально(без кракозябр).

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version