Ir para conteúdo

POWERED BY:

Arquivado

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

Davi Araújo

Acentuação

Recommended Posts

Amigos, estou com um problema de acentuação em um formulário php. Quando recebo o email ele não vem acentuado.

 

Vou enviar os codigos do html e do php para se algum consegue me ajudar onde esta o erro.

 

Html (topo e formulário)

<title>| GARRA TELECOM |</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<form method="post" action="enviar_fale.php">	

<input id="txtdest" name="txtdest" type="hidden" value="sac@garratelecom.com.br"/>

<input id="txtass" name="txtass" type="hidden" value="Fale Conosco - Canaa dos Carajas" />

<label for="name">Nome:</label>     <input  class="textbox" type="text" name="nome" id="nome" /><br>

<label for="email">E-mail:</label>     <input  class="textbox" type="text" name="email2" id="email2" /><br>

<label for="subject">Telefone: </label><input  class="textbox" type="text" name="telefone" id="telefone" /><br>

<textarea class="textbox" name="txtmsg" id="txtmsg" style="width:375px; height:150px;"></textarea>

<button class="button small-btn" type="submit" name="submit" id="submit">Enviar Mensagem</button> <br />

<p id="message-outcome"></p>

</form>

PHP

<html>
<body>

<?php

	header('Content-Type: text/html; charset=utf-8');

If (isset($_POST['txtdest']))
{
    require_once('class.phpmailer.php');
    $destino = $_POST['txtdest'];
    $nome = $_POST['nome'];
    $telefone = $_POST['telefone'];
    $email2 = $_POST['email2'];
    $assunto = $_POST['txtass'];
    $mensagem = $_POST['txtmsg'];
    $mailer = new PHPMailer();
    $mailer->IsSMTP();
    $mailer->SMTPDebug = 1;
    $mailer->Port = 587; //Indica a porta de conexão para a saída de e-mails
    $mailer->Host = 'smtp.garratelecom.com.br'; //smtp.dominio.com.br
    $mailer->SMTPAuth = true; //define se haverá ou não autenticação no SMTP
    $mailer->Username = 'sac@garratelecom.com.br'; //Informe o e-mai o completo
    $mailer->Password = ''; //Senha da caixa postal
    $mailer->FromName = $assunto; //Nome que será exibido para o destinatário
    $mailer->From = 'sac@garratelecom.com.br'; //Obrigatório ser a mesma caixa postal indicada em "username"
    $mailer->AddAddress('sac@garratelecom.com.br'); //Destinatários
    $mailer->Subject = $assunto;
    $mailer->Body = "Nome: $nome

Email: $email2

Telefone: $telefone

Mensagem: $mensagem";
    $mailer->Send();
    echo "<script>location.href='fale.php'</script>";
}
	?>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Amigos, estou com um problema de acentuação em um formulário php. Quando recebo o email ele não vem acentuado.

 

Vou enviar os codigos do html e do php para se algum consegue me ajudar onde esta o erro.

 

Html (topo e formulário)

<title>| GARRA TELECOM |</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<form method="post" action="enviar_fale.php">	

<input id="txtdest" name="txtdest" type="hidden" value="sac@garratelecom.com.br"/>

<input id="txtass" name="txtass" type="hidden" value="Fale Conosco - Canaa dos Carajas" />

<label for="name">Nome:</label>     <input  class="textbox" type="text" name="nome" id="nome" /><br>

<label for="email">E-mail:</label>     <input  class="textbox" type="text" name="email2" id="email2" /><br>

<label for="subject">Telefone: </label><input  class="textbox" type="text" name="telefone" id="telefone" /><br>

<textarea class="textbox" name="txtmsg" id="txtmsg" style="width:375px; height:150px;"></textarea>

<button class="button small-btn" type="submit" name="submit" id="submit">Enviar Mensagem</button> <br />

<p id="message-outcome"></p>

</form>

PHP

<html>
<body>

<?php

	header('Content-Type: text/html; charset=utf-8');

If (isset($_POST['txtdest']))
{
    require_once('class.phpmailer.php');
    $destino = $_POST['txtdest'];
    $nome = $_POST['nome'];
    $telefone = $_POST['telefone'];
    $email2 = $_POST['email2'];
    $assunto = $_POST['txtass'];
    $mensagem = $_POST['txtmsg'];
    $mailer = new PHPMailer();
    $mailer->IsSMTP();
    $mailer->SMTPDebug = 1;
    $mailer->Port = 587; //Indica a porta de conexão para a saída de e-mails
    $mailer->Host = 'smtp.garratelecom.com.br'; //smtp.dominio.com.br
    $mailer->SMTPAuth = true; //define se haverá ou não autenticação no SMTP
    $mailer->Username = 'sac@garratelecom.com.br'; //Informe o e-mai o completo
    $mailer->Password = ''; //Senha da caixa postal
    $mailer->FromName = $assunto; //Nome que será exibido para o destinatário
    $mailer->From = 'sac@garratelecom.com.br'; //Obrigatório ser a mesma caixa postal indicada em "username"
    $mailer->AddAddress('sac@garratelecom.com.br'); //Destinatários
    $mailer->Subject = $assunto;
    $mailer->Body = "Nome: $nome

Email: $email2

Telefone: $telefone

Mensagem: $mensagem";
    $mailer->Send();
    echo "<script>location.href='fale.php'</script>";
}
	?>
</body>
</html>

 

Primeira Coisa é:

Se a página PHP está enviando os dados, pra que o inicio das TAGS HTML?

 

</body>

</html>

...

</body>

</html>

 

  1. Remova as tags <html> da página php, pois não tem codificação, pode acabar gerando caracteres estranhos na codificação do seu texto.
  2. Verifique se a página que está enviando está realmente em UTF-8.
  3. Verifique a codificação que a classe PHPMailer está enviando.
  4. Trate todo o seu texto, convertendo-o para codificação ou decodificação (utf8_decode ou utf8_encode).

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.