Проблема кодирования 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
Строки обрабатываются правильно.