em

Capturando palavras acentuadas corretamente com Ajax e PHP

Por padrão todas requisições enviadas via Ajax são transmitidas na codificação UTF-8, isso pode gerar algumas problemas com strings que contenham palavras acentuadas (charset=iso-8859-1).
Isso acontece, por exemplo, quando queremos pegar os dados de um formulário preenchido pelo usuário e enviar para o servidor:

<script language="javascript">
 
$("#enviacontato").submit(function() {
 
var name = $('#name').val();
var email = $('#email').val();
 
$.post("recebedados.php",
{name: name, email: email, message: message },
function(data) {
alert(data);
});
return false;
});</script>

Esse é um problema velho, existem dezenas de gambiarras que o pessoal comenta na Internet e que não funcionam ou são bastante complicadas…
Vejam uma solução prática, simples e funcional:

<?php
 
echo htmlentities(utf8_decode($_POST["message"]));
 
?>

Para exibir acentuação corretamente só precisamos fazer o tratamento dos dados no lado do servidor.
Curto e grosso!

Gostou dessa matéria?

Inscreva seu email para receber atualizações com as últimas publicações do nosso blog.

Deixe o seu comentário: