2016-10-18 1 views
0

Мне нужно подключиться к pqsql db и прочитать данные, закодированные в CP852 (MSDos latin2). Как я могу достичь этой цели? Все остальные системы баз данных (oracle, mysql, sqlserver) поддерживают его. Согласно документации, он не поддерживается. Есть ли более простые способы, чем манипуляции с источниками?Кодирование CP852 в postgresql

У меня есть устаревшее приложение, которое соединяется с cp852 с mysql cp1250. Я хочу обменять db на pgsql.

Итак, у меня есть данные в cp1250, и мне нужно прочитать его в cp852. Невозможно изменить данные или приложение.

ответ

0

Если в базе данных нет других приложений, вы можете использовать базу данных PostgreSQL с кодировкой sql_ascii и хранить свои данные на кодовой странице 852. С помощью этой кодировки PostgreSQL не заботится о кодировании.

Если есть другие приложения, которые используют базу данных и работают с разными кодировками, единственным решением было бы изменить устаревшее приложение либо использовать другую кодировку, либо первыми правильно преобразовывать данные (это не должно быть слишком сложно напишите конверсию с WIN1250 на кодовую страницу 852.

+0

Есть еще приложения, которые нуждаются в данных в win1250. Как правило, есть только одно приложение, которое нуждается в данных в cp852. Я был бы рад даже чем-то вроде прокси-сервера db, который бы конвертировал 1250 выводимый db на 852 для моего приложения «на лету». – user2029276