powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / jasperreport server и кодировки. Запутался...
4 сообщений из 4, страница 1 из 1
jasperreport server и кодировки. Запутался...
    #37867337
Лентяй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. Пытаюсь освоить jasperreport server. Скачал, установил. В iReport создал отчет. Все хорошо... Затем отправил отчет на сервер. Вместо русских букв выводятся знака вопроса. В бд Firebird данные лежат в кодировке WIN1251. В TomCat URIEncoding="UTF-8". Пробовал устанавливать в Cp1251 - не помогло. Пробовал так-же устанавливать URIBodyEncoding в true - не помогло. Пробовал в отчете ввести переменную со значением
Код: java
1.
 new String($F{NAME}.getBytes("Cp1251"),"UTF-8")

- знаки вопроса сменились на другие крокозяблики... Может кто подскажет, как правильно кодировку настроить?
...
Рейтинг: 0 / 0
jasperreport server и кодировки. Запутался...
    #37867353
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно аккуратно дебажить.
Кодировка в БД, скорее всего не причем. JDBC драйвер должен выдавать нормальные строки, если они в базе лежат правильно. Поэтому про этот слой можно вообще забыть. Ну, или просто проверить.
Отчеты в PDF выводятся? Там могут не все шрифты поддерживать unicode. Попробуйте для тестовых целей в HTML.
Настройте датальное логирование и посмотрите какие данные приехали из базы. Как их JasperReports распознал.
new String(data.getBytes("Cp1251"),"UTF-8") - это худшее из решений. Применяется только в безвыходных ситуациях.
...
Рейтинг: 0 / 0
jasperreport server и кодировки. Запутался...
    #37867427
Лентяй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНужно аккуратно дебажить.
Кодировка в БД, скорее всего не причем. JDBC драйвер должен выдавать нормальные строки, если они в базе лежат правильно. Поэтому про этот слой можно вообще забыть. Ну, или просто проверить.
Отчеты в PDF выводятся? Там могут не все шрифты поддерживать unicode. Попробуйте для тестовых целей в HTML.
Настройте датальное логирование и посмотрите какие данные приехали из базы. Как их JasperReports распознал.
new String(data.getBytes("Cp1251"),"UTF-8") - это худшее из решений. Применяется только в безвыходных ситуациях.
До PDF пока не дошел. Непосредственно JasperReport Server, установленный под TomCat генерирует HTML страницу. Если из под iReport сделать экспорт в HTML - то все корректно отображается. При этом кодировка страницы UTF-8. Дебажить нечем пока. Есть iReport и TomCat c JasperReports Server. Надеялся, что конфигами можно обойтись...
new String(data.getBytes("Cp1251"),"UTF-8") - это худшее из решений, но и оно не помогает...
...
Рейтинг: 0 / 0
jasperreport server и кодировки. Запутался...
    #37867441
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С кодировками нет простых решений, потому что существует несколько уровней где они могли сломаться.
Сохраните HTML из iReport и JR Server в файл и сравните содержимое. Что именно будет в сломаном файле?
Нужно смотреть на тот текст, который выходит чтобы понять откуда вылезла не так кодировка. Сначала вы сказали что там вопросительные знаки. Это, обычно, обозначает что символ безвозвратно утерян и new String/getBytes уже не вернут его к жизни.
А вот если вместо вопросительных знаков разнообразные символы, то можно воспользоваться онлайн сервисами чтобы понять какая кодировка лишняя.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / jasperreport server и кодировки. Запутался...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]