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

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

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

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

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

Войти через центр авторизации
Похожие вопросы