Проблема кодирования Informix JDBC ISO-8859-2

У меня проблема со строковым кодированием в моем приложении 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 ответ

Решение

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

Другие вопросы по тегам