У меня проблема со строковым кодированием в моем приложении 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"))));
И результат действителен. Есть идеи, в чем проблема?