Duvida simples a respeito de condificaçãoe acentuação

10 respostas
vinicius_roc

Caros colegas do GUJ,

Não tenho certeza se este forum é o local correto para essa duvida, se for podem mudarpara o lugar correto.

Estou com o seguinte problema, quando mando por exemplo esta frase para o servidor, aonde tem acento e onde tem ç ele substitui para ?, mas isso só acontece no firefox =/. Eu verifiquei a codificação e esta certa ISO-8859-1. No IE funciona direitinho.

“Teste 3 - MANUAL UTILIZAÇÃO SITE - DISPONÍVEL PARA DOWNLOAD”

Oque pode ser?

Muito Obrigado

Att,

Vinicius Roberto

10 Respostas

E

Vinicius,

A principio seria verificar o encoding no JSP/JSF que esta sendo utilizado no retorno, mas acho que isso você ja viu.

Se você estiver trazendo essa informação de algum banco, da uma olhada se no registro do banco o “?” ja esta la. Se estiver, o encoding do banco que esta errado. Ai sugiro que você altere para UTF-8 ou outro.

Se quiser postar parte do codigo pra que tenhamos uma ideia melhor do que esta faltando, sinta-se a vontade.

Abraços.

Jiraiya

Problema legal esse o seu, comigo aconteceu a mesma coisa, so que um pouco mais trash e foi no IE

No meu caso eu precisei implementar um decodificador para que a string que viesse da tela fosse corrigida.
Contudo tente fazer um teste usando o escape() ou unescape() do javascript, talvez resolva

*Uma pergunta…quando você envia a frase, está sendo por submit ou por AJAX?

vinicius_roc

O encode esta certo:

tenho essa linha p isso no jsp

<%@ page contentType="text/html; charset=ISO-8859-1"%>

e o problema esta do formulario para o servidor, no debug antes de salvar ja esta sem os caracteres

estou usando AJAX dojo.io.bind();

e não entendi o escape(); nunca usei?

Muito Obrigado

Jiraiya

O escape é uma função javascript, ele corrigi caracteres “loucos”, por exemplo §

Tente da seguinte forma, onde você passa sua frase como parâmetro para algum método ou chamada para o servidor, coloque escape() e veja se chega certo.

Qualquer coisa grite ai

vinicius_roc

Eu não vou conseguir fazer isso =/

ele passa o formulario para o io.bind() =[

Jiraiya

Não tem como você pegar o value por id usar o escape() e depos re-colocar o valor para o campo e passar o formulário para o io.bind() ??

Ou fazer algo similar ao que falei antes de passar o formulário?

Se não tiver jeito mesmo, você teria que acertar a string no back-end onde você recebe os dados, mas pensa positivo ai que vai dar certo de algum jeito

vinicius_roc

bom vou tentar, vlw pela ajuda! =D

vinicius_roc

Não deu certo =/

Mas olhando pelo firebug, percebi que quando tem um caractere desse tipo ele não é mandado junto com o post =/

E se mandar como GET funciona. Segue o cabeçalho se ajudar:

Host localhost:8080 User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.9.1.4) Gecko/20091016 Firefox/3.5.4 Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding gzip,deflate Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive 300 Connection keep-alive Content-Type application/x-www-form-urlencoded; charset=UTF-8 Referer http://localhost:8080/mlps/dynamic/backoffice/PortalDoBackOffice.MetLife Content-Length 682 Cookie JSESSIONID=4B0730F7938F939C688FD4055B1BAB38

vinicius_roc

acho que encontrei a solução mas não sei como fazer isso em java.

http://juliogreff.net/utilizando-o-metodo-post/

A resposta esta depois de “Recebendo os Dados”

Alguem tem alguma idéia??

Muito obrigado

vinicius_roc

Jiraya

utilizando o scape ele salvou como:

Teste%203%20-%20MANUAL%20UTILIZA%C7%C3O%20SITE%20-%20DISPON%CDVEL%20PARA%20DOWNLOAD

em vez de:

Teste 3 - MANUAL UTILIZAÇÃO SITE - DISPONÍVEL PARA DOWNLOAD

Alguem tem alguma ideia por favor? não sei mais oque fazer =/

Criado 10 de novembro de 2009
Ultima resposta 10 de nov. de 2009
Respostas 10
Participantes 3