Я пытаюсь заставить свои отчеты работать с пакетом переводов. Что бы я ни пытался, я не могу отобразить UTF-8 для любого языка - я просто получаю два сломанных символа для каждого символа UTF-8.
Мой отчет начинается с этого: <?xml version="1.0" encoding="UTF-8"?>
...но предварительный просмотр iReport не работает,
и мой фактический код имеет это:
JRProperties.setProperty("net.sf.jasperreports.default.pdf.encoding", "UTF-8");
exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8")
Кажется, ни один из них не может выводить UTF-8. Что здесь может происходить? Я выдергиваю волосы. Даже если для шрифта установлено значение Arial
, у меня возникают проблемы. Мое веб-приложение использует тот же шрифт и аналогичные пакеты с Grails, и у меня нет проблем, поэтому что-то происходит конкретно с jasperreports.
EDIT: я думал, что проблема может заключаться в маркерах порядка байтов, но это не так. Я создал базовый отчет, который показывает сбой в 4.0.2.
Вот набор ресурсов:
И вывод в iReport:
А вот отчет и properties, используемый для наблюдения за этими результатами.
Нет информации: когда файлы свойств сохраняются в кодировке ANSI, я могу получить все немецкие символы, включая ä и ß. Когда файлы свойств сохраняются в кодировке UTF-8, работают только символы ASCII.