Использование символа Юникод в сгенерированном PDF с использованием iText5

У меня проблема с символами Юникода в сгенерированном PDF. На моей рабочей станции все работает нормально, но в тестовой среде все идет не так.

Значение вставки кода следующее:

Font boldDefaultFont = FontFactory.getFont(FontFactory.HELVETICA, 10, Font.BOLD);
// ...
PdfPCell headerCell = new PdfPCell();
// unit.getName() returns "°C"
Phrase header =  new Phrase(unit.getName(), boldDefaultFont);
headerCell.addElement(header);

Исходный код Java находится в UTF-8.

Когда это выполняется в моей среде (java 1.6.0_18, WinXP), ячейка содержит°C как и следовало ожидать, но в тестовой среде (Java 1.6.0_18, Win2003) результат°C, Я'мы выяснили, что это проблема кодирования (UTF-8 '°' равен 0xc2b0, что равно '° в ISO-8859-1).

Сейчас ямы пробовали следующее:

1) добавление-Dfile.encoding=utf8 к параметрам Java (не влияет ни на одну из сред)

2) добавление ARIALUNI.TTF в тестовые среды C: \ WINDOWS \ Fonts (без эффекта)

3) кодирование unit.getName () в iso-8859-1, но оно заставило исчезнуть степень пения в моей машине.

Среда, которая просматривает pdf, не имеет никакого эффекта, pdf, сгенерированный на моей рабочей станции, хорошо виден везде и наоборот.

У кого-нибудь есть опыт по этому вопросу? Бьюсь об заклад, есть способ заставить это работать в обеих средах.

Ответы на вопрос(0)

Ваш ответ на вопрос