Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JeFiNhO

[Resolvido] Erro com caracteres especiais em formulário PHP

Recommended Posts

Fiz um site com um formulário simples em php, mas quando recebo os e-mails as palavras ficam todas erradas.

 

Me falaram que é o chartset, mas está tudo certo.

 

Abaixo está o código para verem: (tirei o e-mail do cliente)

 

enviar.php

 

<?php


$nome=$_POST[nome];
$email=$_POST[email];
$assunto=$_POST[assunto];
$mensagem=$_POST[mensagem];


mail("email@email.com.br","$assunto","
Nome: $nome
Email: $email
Assunto: $assunto
Mensagem: $mensagem","FROM:$nome<$email>");

echo "<script type=\"text/javascript\">alert(\"Sua mensagem foi enviada com sucesso.\");history.go(-1);</script>\n";

?>

 

 

E aqui o codigo do formulário

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link href="style.css" rel="stylesheet" type="text/css" media="screen" />

</head>

<body>

<br/><center>Entre em contato conosco através do formulário abaixo:</center>	
           <br />

  <form name="form1" method="post" action="enviar.php">
 <p><img src="images/contato/nome.jpg" height="20"/><br />
   <input name="nome" type="text" id="nome">
 </p>
 <br />
 <p><img src="images/contato/email.jpg" height="20"/><br />
   <input name="email" type="text" id="email">
 </p>
 <br />
 <p><img src="images/contato/assunto.jpg" height="20"/><br />
   <input name="assunto" type="text" id="assunto">
 </p>
 <br />
 <p><img src="images/contato/mensagem.jpg" height="20"/><br>
   <textarea cols="60" rows="6" name="mensagem" wrap="VIRTUAL" id="mensagem"></textarea>
 </p>
 <p>
   <input type="submit" name="Submit" value="Enviar">
 </p>
 </form>           


		</div>

 

Por favor me ajudem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim, qualquer coisa muda o charset ou inves de usar esse codigo apenas implemente no seu codigo

 

<?php


$nome=$_POST[nome];
$email=$_POST[email];
$assunto=$_POST[assunto];
$mensagem=$_POST[mensagem];

$headers  = "From: \"$nome\"<$email>\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=UTF-8\r\n";

$message ="
Nome: $nome<br />
Email: $email<br />
Assunto: $assunto<br />
Mensagem: $mensagem<br />";

$toEmail = "email@email.com"; // pra quem vai o email.
$toNome = "NOME"; // pra quem vai o email.
$contatoAssunto = "Contato pelo Site";
$contatoMensagem = $message;

if (mail($toEmail, $contatoAssunto, $message, $headers)){
echo "<script type=\"text/javascript\">alert(\"Sua mensagem foi enviada com sucesso.\");history.go(-1);</script>\n";
} else {echo "<script type=\"text/javascript\">alert(\"Sua mensagem nao pode ser enviada.\");history.go(-1);</script>\n";}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim, qualquer coisa muda o charset ou inves de usar esse codigo apenas implemente no seu codigo

 

 

 

Muito obrigado, funcionou perfeitamente =D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal, é o seguinte...

usei essa mesma técnica e funcionou bem quando o e-mail é para um servidor de e-mail privado como: e-hosting.

Mas quando uso pro Gmail, os caracteres especiais bugam.

Minha dúvida é:

 

Como resolver esse problema para todos os emails ou para o gmail.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me ajudou também brother, vlw! sucesso

Faz assim, qualquer coisa muda o charset ou inves de usar esse codigo apenas implemente no seu codigo

<?php


$nome=$_POST[nome];
$email=$_POST[email];
$assunto=$_POST[assunto];
$mensagem=$_POST[mensagem];

$headers  = "From: \"$nome\"<$email>\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=UTF-8\r\n";

$message ="
Nome: $nome<br />
Email: $email<br />
Assunto: $assunto<br />
Mensagem: $mensagem<br />";

$toEmail = "email@email.com"; // pra quem vai o email.
$toNome = "NOME"; // pra quem vai o email.
$contatoAssunto = "Contato pelo Site";
$contatoMensagem = $message;

if (mail($toEmail, $contatoAssunto, $message, $headers)){
echo "<script type=\"text/javascript\">alert(\"Sua mensagem foi enviada com sucesso.\");history.go(-1);</script>\n";
} else {echo "<script type=\"text/javascript\">alert(\"Sua mensagem nao pode ser enviada.\");history.go(-1);</script>\n";}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.