Похожие темы есть. Некропостингом заниматься не стал. Немного не тот случай. Это скорее отчет о проделанной работе.
Я тестировал с момента первичного знакомства систему на локальной машине под WinXP. База на Firebird SQL 1.5.x. Поддержки UTF-8 в Firebird 1.5.x нет, поэтому база создавалась с кодировкой по умолчанию NONE.
Соответственно, пока в локале игрался, то все писалось в базу в кодировке WIN1251 - в кодировке виндовой локали.
Решил перенести систему на тестовый сервер под Linux. Локаль там, естественно, вовсе не WIN1251, а UTF-8. От того все кириллические данные из базы после переноса TS с винды на линукс "в лоб прямым копированием и последующим редактированием необходимых properties" стали показываться ромбиками-вопросиками, ибо встроенного прекодирования от SQL-сервера к клиенту при передаче строковых данных нету, оно только в Firebird 2.0 появилось, да и не могло быть на базе с кодировкой NONE по умолчанию).
Решение на поверхности, как ни странно, помогло: метаданные и данные из базы слить в скрипт, сохранить скрипт в кодировке UTF-8 и выполнить этот скрипт на linux-сервере, создав таким образом новую базу, данные в которой автоматически получаются уже в кодировке UTF-8.
ПО-МО-ГЛО!!!
Т.е. данный пост еще раз в подтверждение того, что кодировки приложений, java и данных в базе должны сов-па-дать!
-------
И еще: у меня нет графического интерфейса на сервере (нафиг не нужен был всегда, это моя религия - не обсуждается). При создании скрипта (если кто желает) для автозапуска jetty через /etc/init.d прежде, чем стартовать jetty не забывать
LANG=ru_RU.UTF-8 прописать. Не знаю как с остальными дистрибутивами, но в OpenSUSE обязательно. Иначе скрипт /sbin/service делает в начале своей работы LANG=POSIX и усё, приплыли: при использовании старта через этот скрипт в виде
service trackstudio start
получаем неверную кодировку.
