>Есть: freebsd, postgresql, базы набранные в koi8
>Надо: достучаться до БД из BDE/ODBC и получить нормальные кодировки -- дабы
>печатать нормально.
>ВОПРОС: как? Что в принципе для этого надо? локаль в самой БД?
>особая настройка bde?
>
>может вопрос и дурацкий, и ответ на него уже где-то написан --
>укажите ссылкой, пожалуйста, потому как крыша уже едет.
Сам расковырял. В общем так: есть два метода -- старый и новый.
Старый основан на перекодировке на лету однобайтовых символов. Настраивается на сервере в привязке к IP файликом charset.conf для каждой БД (см. комментарии в нем). Требует при configure --enable-recode
Ничего кроме этого не нужно. Таблицы перекодировки идут в поставке.
Новый -- на основе поддержки мультибайтовых кодировок. Требует ./configure --enable-multibyte=KOI8, при создании БД -- указания ее кодировки. Затем -- либо в конфиге сервера указывается PGCLIENTENCODING в окружении postmaster, либо на стороне клиента в ините ODBC ставится
SET CLIENT_ENCODING='WIN';
Важнно, что перекодировка из SQL_ASCII (по умолчанию для новой БД) в русские -- не катит.
Да. Линк - http://doc.sumy.ua/db/pgsql/multibyte.html
Насколько я понял перекодировка слабо (вообще не?) связана с локалью -- но не проверял.