Pessoal, tenho um web service Rest Full que retorna em Json com o Glasfish 4. Quando implanto no Windows retorna certinho quando implanto no Linux (ubuntu) retorna com erros de caracteres especiais. Fiz vários testes e ainda nada funcionou. Alguém tem alguma dica ?
isso tem cara de unicode + charset.
vc precisa entender se o seu problema é:
1- vc omite o charset unicode no header content-type e ai o resultado pode ser interpretado no charset errado.
2- vc nao define o charset que o servidor vai operar e isso fica a criterio de padrões do sistema operacional. eu imagino que vc precisa conectar em um banco de dados e, geralmente, vc precisa especificar o charset quando vc conecta.
3- seu teste pode estar errado, o browser q vc usa no linux pode forçar um encoding enquanto no windows não e vice-versa.
4- pode estar errado no windows porem pode ser q outro sistema esteja compensando o erro (é SUPER raro, mas vc pode ler com o charset errado e o browser, por exemplo, pode corrigir de alguma forma maluca)
5- vc pode estar fazendo o teste em algo que nao entende unicode e entao vc vai ter bytes impossiveis de compreender.
6- se fosse outra forma como XML, o erro continuaria?
tente descobrir, via logging, onde esta o problema. vc leu X e imprime “lendo X do banco de dados”, “convertendo X pra json” etc.
ta com cara de algo q vc nao setou explicitamente, eu chutaria no banco de dados
peczenyj, tudo indica que deu certo. Foquei no ultimo item que você citou porque era a unica coisa que não tinha tentado ainda "setar o charset na conexão com o database"
Muitoooo Obrigado