Здравствуйте, уважаемые!
делал для внутренних нужд небольшого офиса небольшую же БД (Postgres-8.4.2) с CGI-скриптами (Perl-5.8.8). В линухе проверял -- все работает (везде КОИ8).
Под виндой -- я уже замучался с кракозябрами! База создана в win1251, psql ругается что какой-то символ (с кодом \x...) не может быть отображен, НО текстовые данные на русском кажет(!). Perl-скрипты из консоли тоже отображают русский текст из БД.
Дошел до CGI -- понятно, что в броузере текст типа print 'Жми сюда' зависит от кодировки текста самого скрипта, а ВОТ ТЕКСТ ИЗ БД ВЫВОДИТСЯ В win866!!!
Где, млин, происходит это преобразование? И есть ли толк от 'use locale' ?
и вторая проблема : есть одно ключевое поле, значение которого удобнее вводить самому (без автоинкремента и пр.), так вот простейший код (здесь обрезан)
...prepare(insert into ... values (?, ?, ?, ?, ...))
...bind_param(1, $value, { TYPE => SQL_INTEGER } )
...execute
валится с сообщением : INSERT невозможен, ключевое поле UNDEF
если у кого есть мысли, заранее спасибо!