Page 1 of 1

wxGTK: Cannot convert from the charset 'Unknown encoding(-1)

Posted: Sat Dec 13, 2008 5:51 pm
by ud
Здравствуйте, уважаемое wxсообщество.

Несколько дней подряд не могу разрешить одну неприятную проблемку. Дело в том, что мое приложение работает с базой данных где вся информация должна храниться в cp1251. На клиентах с windows проблем нет, а вот с UNIX клиентов выскакивает сообщение при старте программы: Cannot convert from the charset 'Unknown encoding(-1)'!. Такое сообщение выводится всякий раз когда я ставлю кодировку cp1251. Если поставить koi8-r то всё нормально, но вся информация и надписи в программе становятся 'бНОПНЯ' :)

Собственно вопрос в чем может быть дело и как это победить?
В качестве юникса выступали Slackware Linux 12.1 и FreeBSD 7.0. Да, остальные программы (тот же gimp, mc) с этой кодировкой cp1251 работают на ура. Если же написать заведомо "левую" кодировку то окошко с сообщением не выводится, а кодировка ставится судя по всему utf8...

Posted: Sat Dec 13, 2008 8:01 pm
by T-Rex
Мм.. а как конвертишь-то?
В базе строки уже в кодировке windows-1251?
При вытаскивании из базы как преобразовываешь к нативному виду?

Posted: Sun Dec 14, 2008 5:43 am
by ud
Никак не преобразовываю. В приложении все надписи в cp1251.

Re: wxGTK: Cannot convert from the charset 'Unknown encoding

Posted: Sun Dec 14, 2008 9:35 am
by vtararin
Какую СУБД используете? В некоторых СУБД клиентские и серверные кодировки могут быть разными и сервер для клиента выполняет перекодировку.
Для начало скажите СУБД что у Вас koi8 и сторонней утилитой посмотрите что в базе. Этого может оказаться достаточно.

Posted: Sun Dec 14, 2008 12:36 pm
by ud
СУБД - Firebird. Действительно если в подключении (использую ibpp) указать кодировку koi8r всё ок :) Спасибо за решение :wink: