Как победить всё-таки кодировку в JDBC (Oracle)?
Как победить всё-таки кодировку в JDBC (Oracle)?
Имеется Java SE приложение, разрабатывается на Win-машине в Eclipse. Приложение общается с БД Oracle 11.2 по JDBC (thin), достаёт кириллические данные и обрабатывает. На базе кодировка WIN1251. Для JDBC импортнуты библиотеки ojdbc6.jar и orai18n.jar (вторая решает проблемы с кодировкой в сложных объектах и коллекциях).
На этой девелоперской машине работает всё корректно. Нигде в коде явным образом кодировки не указываются, всё и так преобразовывается и считывается правильно.
Ставлю полученное приложение на бой. Собираю Runnable JAR, делаю Extract всех библиотек внутрь него. Получившийся JAR'ник и конфиги забрасываю на боевой сервер (OpenSuse 12). На бой накатил свежую JDK (всё откомпилено под 8-ю версию). Запускаю на бою — из базы приложение кириллицу считывает вопросительными знаками.
Куда копать?
- Вопрос задан 25 февр.
- 230 просмотров
Решения вопроса 1
KuchinRussia @KuchinRussia
Копать надо было в ту сторону, что запускается всё это дело из под крона, а переменные окружения не выставлены.
export LC_ALL=ru_RU.UTF-8export NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251 export LANG=ru_RU.UTF-8
полечило все проблемы.