Проблема кодирования Informix JDBC ISO-8859-2 - PullRequest
0 голосов
/ 05 сентября 2018

У меня проблема со строковым кодированием в моем приложении Java. Моя база данных Informix имеет кодировку ISO-8859-2. Я установил DB_LOCALE в строке подключения. URL моего подключения выглядит так:

jdbc:informix-sqli://test/test:informixServer=test;portNumber=1542;databaseName=test;serverName=test_informix;ifxIFXHOST=test;DB_LOCALE=pl_PL.8859-2;DBDATE=Y4MD-;IFX_LOCK_MODE_WAIT=10;

После выбора данных из базы данных польские специальные символы не распознаются Java String. charAt() метод возвращает 65533 код.

Я попытался посмотреть шестнадцатеричный код этой строки:

String.format("%040x", new BigInteger(1, input.getBytes("ISO-8859-2"))));

И результат действителен. Есть идеи, в чем проблема?

1 Ответ

0 голосов
/ 06 сентября 2018

Мне удалось найти решение. Проблема была в LANG системной переменной. На моей машине было пусто. После изменения на en_US.ISO-8859-1 строки обрабатываются правильно.

...