Conteúdo que chega no Controller, pela variável ‘coluna’:
Código
Se escrevo sem acentuação, funciona direito.
Se a mesma palavra com acento e enviada em um input tipo text, também vai bem.
Se alguém tiver alguma sugestão, agradeço.
tenta escapar os acentos no link (trocar os acentos por %F3, ou coisas do tipo)… é fácil fazer isso com javascript, que já tem a função escape que recebe uma string e retorna ela escapada desse jeito… passar acentos via query na url não é bom, e nem eh o padrão…
É exatamente isso, alguns browser (particularmente o IE) não fazem o “url encoding” quando você acessa uma URL. E mesmo quando fazem, cada um vai fazer num encoding diferente, já que as URLs por padrão deveriam ter acentos (basicamente um ASCII): http://www.blooberry.com/indexdot/html/topics/urlencoding.htm
Ok pessoal, obrigado.
Vou procurar uma alternativa para enviar os parametros sem acentos.
Terei que alterar em vários lugares ou deixar charset =ISO-8859-1, que até agora não deu problema.
Apenas complementando o que o pessoal falou, é aconselhado você sempre fazer o encoding da URL. Se você enviar como parametro fica tudo bem, mas quando você coloca na URL fica esse caos. No Java há as classes java.net.URLEncoder e java.net.URLDecoder.
Uma coisa que você deve notar, independente desse caso da URL, é que seus arquivos estejam sendo salvos com o mesmo encoding que você especificou no seu projeto e nos headers do html. Já ví casos do pessoal salvando arquivos em iso-8859-1 e colocando o encoding como utf-8. No meu caso como o padrão do Linux já é uft-8 não tive problemas, mas se não me engano no windows é iso-8859-1, que é o mesmo cp15xx.
Farei isso mesmo, Lucas. Valeu pela dica.
Garicia, terei o cuidado de manter nas diversas ferramentas o encoding equivalentes (html, banco, Eclipse, …) .
Valeu pelo help. Mas olha o meu post anterior…eu já havia feito isso! rs
Mais alguém passou por essa situação?? =/
[/quote]
lol! eu vi errado… mau ai…
eu passei sim por isso… mas foi com UTF, passei maus bucados…
saiba que as tags aceitam encoding e nelas eu também coloquei o UTF … por padrão o javascript com ajax usa ISO, então seu problema é provavelmente outro… se o dados estão indo parar errado no banco, pode ser o encoding do banco… se for no método, ai é o encoding do server mesmo…
enfim… eu sofri pra resolver…
usei accept-charset nos entre outras coisas… pesquisei na net, e encontrei algumas formas de setar encoding nos ajax… mas no final… o que melhor resolveu foi a tag do vraptor (eu uso a versão mais nova do vraptor)
Há uma coisa importante. Além de você declarar seu charset, seja dele UFT-8/16 ou ISO-8859-1 você precisa salvar seus arquivos nesse mesmo formato, e cuidar para que o container também trabalhe nesse formato.
Não que o charset do appserver e do SO seja um ítem fundamental, porém é importante estarem todos de acordo, isso evitará problemas.
Outro dia um amigo comentou que estava usando UTF-8 no Jdeveloper e sempre que sincronizada com o Source (un)Safe os caracteres vinham deformados. Após uma série de pesquisas ele notou que o charset do VSS estava como ISO-8859-1.
Eu tomei por decisão usar tudo como UTF-8, já que esse é o padrão do Unix. Desde meu Eclipse, appservers, banco de dados, tudo com UTF-8, e não tive mais problemas.
[quote=garcia-jj]…
Eu tomei por decisão usar tudo como UTF-8, já que esse é o padrão do Unix. Desde meu Eclipse, appservers, banco de dados, tudo com UTF-8, e não tive mais problemas.[/quote]
fiz o mesmo… tudo em UTF-8 … o meu problema ocorreu pq estava faltando o UTF no encoding do vraptor… como o ajax postava tudo em ISO, o contianer respondia em iso, e vinha os problemas… depois q coloquei o treco do vraptor, tudo resolveu…
mas faço o mesmo, SVN, eclipse, e tudo mais em utf… ate a turma do designer e montagem, usam UTF-8 nos dreamweaver e etcs…
No banco está td em ordem. Os caracteres já chegam bagunçados no servidor. E o request chega com o encoding devidamente preenchido (ISO-8859-1).
Entao, se o encoding chega certo, significa que os valores que estou passando estão num charset diferente. Mas já setei o charset correto nas JSPs, então, sinceramente, não sei o que fazer…=S
É alguma zica com o jQuery.
Fiz o submit do form normalmente, e os dados chegaram certos no server.
Na hora de fazer o post assíncrono, o jQuery não deve estar setando corretamente o valor do charset
Vou caçar algo e assim q achar eu posto aqui
[quote=bronx]É alguma zica com o jQuery.
Fiz o submit do form normalmente, e os dados chegaram certos no server.
Na hora de fazer o post assíncrono, o jQuery não deve estar setando corretamente o valor do charset
Vou caçar algo e assim q achar eu posto aqui
[/quote]
quando o servidor responde via AJAX, no objeto JSONSerialization na implementação… o objeto pega o HttpServletResponse, e pega o getWrite(),
se quer alterar o encode forçadamente… vc pode pegar eesse arquivo extender, pegar o response, e setar o encode nele…
na requisição de entrada, como é o seu caso, pode ser que algo parecido esteja acontecendo… só vendo o caso mesmo… com debug, no passo a passo, ver a requisição sendo postada na Firebug, e seguindo os dados dentro do eclipse.,
Você pode ver no FireBug clicando no icon do bizouro no seu FireFox (é preciso estar com o componente firebug instalado, se não tiver clique em Ferramentas > Complementos e procure pelo FireBug)
Ao clicar no bezouro, abre uma parte cheida de opções… escolha REDE … e então poste os dados… após postar tem várias informações do post… onde vc pode verificar os dados postados, e os cabeçalhos… vou exemplificar com esse post aqui.
Fora isso… é bom vc debugar a entrada dos dados no VRaptor, ver c eles chegam como ISO… imprima eles no console ou no LOG, e veja se como estão os dados…
pois o erro ainda pode ser na hora de salvar no banco, enfim… tem q ver com detalhes…