Bom dia!
Venho enfrentando um problema de acentuação ao utilizar o Jetty 6 como meu servidor Web.
Se eu digitar qualquer texto acentuado e mandar efetuar o SUBMIT ele encaminha os caracteres acentuados com interrogação (?).
Existe algum arquivo de configuração do JETTY 6 para forçar a conversão ISO-8859-1 ?
No meu arquivo web.xml eu tenho a seguinte configuração:
Que método você está usando para submeter: POST ou GET?
softwork
Via formulários o método é POST, já via requisição AJAX é GET.
batista.gerson
Sem poder te ajudar muito mas ve se isso resolve
quando vc for salvar
publicclassConverteString{privatestaticConverteStringinstance=null;privateConverteString(){}publicstaticConverteStringgetInstance(){if(instance==null){instance=newConverteString();}returninstance;}publicStringencode(StringisoString){Stringutf8String=null;if(null!=isoString&&!isoString.equals("")){try{byte[]stringBytesISO=isoString.getBytes("ISO-8859-1");utf8String=newString(stringBytesISO,"UTF-8");}catch(UnsupportedEncodingExceptione){// As we can't translate just send back the best guess. System.out.println("UnsupportedEncodingException is: "+e.getMessage());utf8String=isoString;}}else{utf8String=isoString;}returnutf8String;}}
esmiralha
Via formulários o método é POST, já via requisição AJAX é GET.
O Jetty tem uma propriedade de sistema chamada org.mortbay.util.URI.charset onde você pode definir o encoding. Me parece que o default do Jetty é UTF8.
softwork
Obrigado batista.gerson, mas este tipo de abordagem iria me custar muito retrabalho…
Via formulários o método é POST, já via requisição AJAX é GET.
O Jetty tem uma propriedade de sistema chamada org.mortbay.util.URI.charset onde você pode definir o encoding. Me parece que o default do Jetty é UTF8.
Olá esmiralha, infelizmente ainda não deu certo!
Segui a tua dica e coloquei para carregar no JAVA_OPTIONS=-Dorg.mortbay.util.URI.charset=ISO-8859-1
O Jetty subiu corretamente, veja:
/etc/jdk1.6.0/bin/java -Djetty.port=8080 -Dorg.mortbay.util.URI.charset=ISO-8859-1 -Djetty.home=/etc/jetty -Djava.io.tmpdir=/tmp
Mas infelizmente os caracteres acentuados estão vindo com interrogação (?)
esmiralha
Você já tentou usar: SevletRequest.setCharacterEncoding(“text/html;charset=ISO-8859-1”) antes de ler qualquer parâmetro ou atributo do Request?
[ ]s
softwork
esmiralha:
Você já tentou usar: SevletRequest.setCharacterEncoding(“text/html;charset=ISO-8859-1”) antes de ler qualquer parâmetro ou atributo do Request?
[ ]s
Olá esmiralha.
Meu projeto utiliza o vRaptor 2.6.0 e neste caso eu teria que criar um Interceptador ou utilizar um existente para atribuir setCharacterEncoding(“text/html;charset=ISO-8859-1”)
Mas acho que ainda o problema esta na configuração do Jetty, deve existir algum arquivo .XML para definir o locale correto.
Editado:
Nossa mesmo criando um Interceptador e definindo o setCharacterEncoding não vai!..
Continua gravando com interrogações… que coisa estranha.