Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Quando alguém me envia um e-mail com palavras que contém acentuação pelo formulário de contato do meu site, ele chega todo bugado.
Olhem: /applications/core/interface/imageproxy/imageproxy.php?img=http://img59.imageshack.us/img59/4160/capturarwa.png&key=d6b93094ebebb50809242933d7a169d6bef279522f5f29dbf599c6f47821c2f0" alt="capturarwa.png" />
Código PHP:
<?php
// Definindo os cabeçalhos do e-mail
$headers = "Content-type:text/html; charset=iso-8859-1";
//iremos declarar as variaveis que recebemos pelo método post
//em alguns servidores nem precisamos declarar, depende do register_global=on ou =off
$nome=$_POST[nome];
$email=$_POST[email];
$telefone=$_POST[telefone];
$cidade=$_POST[cidade];
$assunto=$_POST[assunto];
$mensagem=$_POST[mensagem];
//agora vamos enviar todos esses dados usando a função mail
mail("email@email.com","$assunto","
Nome:..............| $nome
Email:.............| $email
Telefone:..........| $telefone
Cidade:............| $cidade
Assunto:...........| $assunto
Mensagem:..........| $mensagem","FROM:$nome<$email>");
echo "<script>alert('Enviado com sucesso!');history.back();</script>"; //aí mostramos no navegador da pessoa que enviou o email uma mensagem
?>
Alguém sabe arrumar isso?
>
mas antes de mudar, tente enviar essa variável $headers junto com a função mail, reparei aqui que você não enviou ela.
Como eu faço isso?
PS: Sou novato em PHP..
mail("email@email.com","$assunto","
Nome:..............| $nome
Email:.............| $email
Telefone:..........| $telefone
Cidade:............| $cidade
Assunto:...........| $assunto
Mensagem:..........| $mensagem","FROM:$nome<$email>", $headers);
Abs
A única maneira que deu certo foi essa! :grin:
>
em último caso, utf8_decode() nas variáveis que estão capturando por post. Ex: $nome = utf8_decode($_POST[nome]);
Valeu!!! :thumbsup:
Abraços!
$headers = "Content-type:text/html; charset=iso-8859-1";
mude para:
$headers = "Content-type:text/html; charset=utf-8";
mas antes de mudar, tente enviar essa variável $headers junto com a função mail, reparei aqui que você não enviou ela.
em último caso, utf8_decode() nas variáveis que estão capturando por post. Ex: $nome = utf8_decode($_POST[nome]);
abraço.