Usando caracteres unicode no PDF gerado usando o iText5

Estou com um problema com caracteres unicode em um PDF gerado. Tudo funciona bem em minha própria estação de trabalho, mas no ambiente de teste as coisas dão errado.

O valor de inserção de código é o seguinte:

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);

O código-fonte Java está em UTF-8.

Quando isso é executado no meu ambiente (java 1.6.0_18, WinXP), a célula contém°C como eu esperaria, mas no ambiente de teste (java 1.6.0_18, Win2003) o resultado é°C. Eu descobri que esse é um problema de codificação (UTF-8 '°' é 0xc2b0, que é igual a '°' na iso-8859-1).

Por enquanto, tentei o seguinte:

1) adicionando-Dfile.encoding=utf8 para opções java (sem efeito em nenhum ambiente)
2) adicionando ARIALUNI.TTF para testar ambientes C: \ WINDOWS \ Fonts (sem efeito)
3) codificando unit.getName () para iso-8859-1, mas fez com que o grau desaparecesse na minha máquina.

O ambiente que exibe o pdf não tem efeito, o pdf gerado na minha estação de trabalho é exibido em todos os lugares e vice-versa.

Alguém tem experiência neste assunto? Aposto que há uma maneira de fazer isso funcionar nos dois ambientes.

questionAnswers(0)

yourAnswerToTheQuestion