@KuchinRussia

Как победить всё-таки кодировку в 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-ю версию). Запускаю на бою — из базы приложение кириллицу считывает вопросительными знаками.

Куда копать?
  • Вопрос задан
  • 3001 просмотр
Решения вопроса 1
@KuchinRussia Автор вопроса
Копать надо было в ту сторону, что запускается всё это дело из под крона, а переменные окружения не выставлены.

export LC_ALL=ru_RU.UTF-8
export NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251
export LANG=ru_RU.UTF-8

полечило все проблемы.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект