Hey, ruX is here.

jdbc: неверная кодировка при работе с БД


Имеем:

По факту в базу вставляются записи в виде абракадабры. Казалось бы - настроил всё что можно, причём однозначно везде юникод, что может быть не так?

Запуск jar с другого компьютера

Удивило, но когда я запустил скомпилированный jar с генты(www.box это реальный сервер в локалке) - записи стали добавляться действительно в юникоде!
Это повод подумать - ведь по факту, какая разница: сервер бд вообще не изменился - тот же что и был, виртуальные машины везде версии 1.6, mysql connector тот же..

Опаньки

Подсказку в какую сторону думать я дал в начале, когда указал, что кривые записи вставляются при запуске на древней системе с системной кодировкой cp1251(в ASP вроде как некоторое время считали что надо её ставить как приоритетную)

Решение

Всё, что нужно сделать перезд запуском - выправить кодировку в текущей локали перед запуском джава приложения:

$ export LANG=ru_RU.UTF-8
$ java -jar dist/project.jar

Exit mobile version