Encoding no post para o PagSeguro

Atualmente estou fazendo uma loja utilizando o Magento como plataforma base. O projeto está ficando bem legal, apesar da curva de aprendizado inicial ter sido bastante acentuada.

Uma coisa que eu gastei um tempinho, digamos desnecessário, esse final de semana foi no momento do post dos dados para o PagSeguro.

Quando as informações que eu passava eram lidas pelo PagSeguro, a acentuação quebrava. Apesar de não ser legal, faz sentido, afinal o Magento usa UTF-8 como encoding e o PagSeguro usa ISO-8859-1.

A princípio comecei a procurar as funções do PHP para conversão de encoding, encontrei, mas precisava definir também os cabeçalhos da página para ISO… no final das contas, foi só ler a documentação do PagSeguro sobre o assunto e lá estava a solução mais simples possível.

Basta adicionar um campo hidden no seu formulário de dados que indica qual o encoding que sua aplicação está enviado ao PagSeguro. Simples assim:

<input type="text" name="encoding" value="utf-8" />

Fácil, hein? :D

3 comentários »

  1. Marcelo Linhares disse,

    01/09/2009 @ 11:00

    Grande Klaus,
    Te devo uma cerveja, me economizou umas 2 horas de procura (a documentação do PagSeguro não está tão acessível).

    Só corrige aí:

    []s

  2. Hiram disse,

    16/05/2010 @ 16:13

    Parabéns pela dica…

    Muito útil!

  3. caio disse,

    27/07/2010 @ 11:30

    Obrigado cara! Não estava conseguindo resolver!

Deixe seu comentário

* campos obrigatórios