[RESOLVIDO] Json + Struts 1.2 + acentuação

Pessoal,
tenho uma chamada Json que chama uma action do struts 1.2 via POST:

$.post("historico.do?operacao=salvar",$("[name=HistoricoForm]").serialize(), function(retorno){...}

até a chamada da action (o método serialize() do form), se há alguma palavra com acentuação (ex: “ocorrência”), ele mostra a palavra direito, mas quando chego na action, e pego o atributo do form, ele vem como: ocorrência .

minha jsp tá com parâmetros:

contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"

mesmo mudando pra UTF-8 ocorre o erro.

Como faço pra solucionar?

Olá Vivi,
Acredito que se você informar na requisição que você esta usando ISO isso irá resolver, o post do jquery acredito que não tenha o contentType como parametro, mas você pode alterar para ajax e forçar
iso na requisição.

Exemplo:

     $.ajax({
        data: $("[name=HistoricoForm]").serialize(),
        type: "POST",
        url: "historico.do?operacao=salvar",
        contentType: "application/x-www-form-urlencoded;charset=ISO-8859-1",
        success: function(retorno) {
            //callback
        }
    });

abraço!

Funcionou direitinho! Obrigada!

mmaico, quando fui testar no IE não funcionou, continuou enviando sem acentuação correta…
o contentType no IE seria diferente??

Olá Vivi,

O I.E é sempre um grande problema :frowning: … Qual a versão que você esta testando!??

Se for a 9 abre aquela ferramenta de desenvolvimento que ele mostra o content type que esta usando na requisição a partir daí daria para visualizar como esta sendo enviado!

Oi Maico!
Consegui resolver pro IE (que é o único browser que eles vão homologar e usar aqui), coloquei o content pra UTF-8…
Obrigada pela ajuda! :smiley: