Ir para conteúdo

Arquivado

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

alisonalves

Formulário PHP erro de acentuação

Recommended Posts

Bom dia pessoal. Tenho um formulário em meu site mas as mensagens que recebo deste formulário estão sempre com as palavras sem acentuação: "próximo , divórcio ".

tenho um arquivo chamado envia.php que está o código. Conforme abaixo. Alguém poderia me dizer o que tenho que acrescentar neste código para corrigir este problema?

Se puderem postar o exemplo de como ficaria eu agradeço muito, pois sou um pouco limitado em php. Muito obrigado

"<?

$mensagem = "Nome: ".$_POST['nome']." \n";
//email que o usuário preencheu
$mensagem .= "Email: ".$_POST['email']." \n";
$mensagem .= "Mensagem: ". $_POST['mensagem'];
$headers = "";
//email do seu domínio hospedado
$emailsender = "contato@gestaoderestaurantes.com.br";
//email de quem vai receber
$emaildestinatario = "contato@gestaoderestaurantes.com.br";
$assunto = "SAC - Gestao de Restaurantes 1122";
// Envio dos dados do Formulário para seu e-mail:
if(!mail($emaildestinatario, $assunto, $mensagem, $headers ,"-r".$emailsender))
{
// Se for Postfix - hospedagem linux
$headers .= "Return-Path: " . $emailsender . $quebra_linha;
}
echo '
<script type="text/JavaScript">
alert("Seu e-mail foi enviado com sucesso. Obrigado");
location.href="sucesso.html"
</script>
';
?>

"

Compartilhar este post


Link para o post
Compartilhar em outros sites

No meu caso, não funcionou.

<?php

include 'config.php';

error_reporting (E_ALL ^ E_NOTICE);

$post = (!empty($_POST)) ? true : false;

if($post)
{

$name = stripslashes($_POST['name']);
$email = trim($_POST['email']);
$subject = stripslashes($_POST['subject']);
$message = stripslashes($_POST['message']);


$error = '';

if(!$error)
{
$mail = mail(WEBMASTER_EMAIL, $subject, $message,
"From: ".$name." <".$email.">\r\n"
."Reply-To: ".$email."\r\n"
."X-Mailer: PHP/" . phpversion());

$headers = "Content-Type: text/html; charset=UTF-8";


if($mail)
{
echo 'Mensagem enviada com Sucesso!';
}

}


}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá alisonalves

O problema é bem fácil de resolver, na página antes do body e dentro do head:

coloda o código:

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

Vai ficar assim:

<head>

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

</head>

Se nas páginas tiver o código:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

Então ele deve ser substituído pelo código:

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

Logicamente dentro do head haverão outros códigos como o title, mas esta é apenas uma apresentação para você entender.

Faça isto em todas as páginas PHP que vai dar tudo certo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

acrescenta essa linha.

$headers = "Content-Type: text/html; charset=UTF-8";

Olá Laerte. Tem algum lugar específico na página pra colocar? Coloquei mas não funcionou. Ficou assim depois que coloquei.

"<?

$headers = "Content-Type: text/html; charset=UTF-8";
$mensagem = "Nome: ".$_POST['nome']." \n";
//email que o usuário preencheu
$mensagem .= "Email: ".$_POST['email']." \n";
$mensagem .= "Mensagem: ". $_POST['mensagem'];
$headers = "";
//email do seu domínio hospedado
$emailsender = "contato@gestaoderestaurantes.com.br";
//email de quem vai receber
$emaildestinatario = "contato@gestaoderestaurantes.com.br";
$assunto = "SAC - Gestao de Restaurantes 1122 3";
// Envio dos dados do Formulário para seu e-mail:
if(!mail($emaildestinatario, $assunto, $mensagem, $headers ,"-r".$emailsender))
{
// Se for Postfix - hospedagem linux
$headers .= "Return-Path: " . $emailsender . $quebra_linha;
}
echo '
<script type="text/JavaScript">
alert("Seu e-mail foi enviado com sucesso. Obrigado");
location.href="sucesso.html"
</script>
';
?>

"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá alisonalves

O problema é bem fácil de resolver, na página antes do body e dentro do head:

coloda o código:

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

Vai ficar assim:

<head>

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

</head>

Se nas páginas tiver o código:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

Então ele deve ser substituído pelo código:

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

Logicamente dentro do head haverão outros códigos como o title, mas esta é apenas uma apresentação para você entender.

Faça isto em todas as páginas PHP que vai dar tudo certo!

Olá pupilo. Todas as minhas páginas já tem esta meta inserida na head. Exceto o arquivo envia.php. Será que tenho que colocar nele tbm?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, coloca o meta na página envia.php e testa o sistema de novo!

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nada ainda. Não funcionou

A página com o formulário tá assim

"

<!DOCTYPE html> <html lang="pt-br"><!-- InstanceBegin template="Templates/template-2016-final.dwt" codeOutsideHTMLIsLocked="false" --> <head> <title>GR Gestão de Restaurantes</title> <meta name="keywords" content="Curso, Restaurantes, Restaurante, Cursos, Treinamento, Treinamentos, Como montar um restaurante, Montar um restaurante, Montar restaurante, como montar um restaurante de sucesso, fornecedores para restaurantes, como administrar um restaurante, curso restaurante, gestao de restaurantes, comprar restaurante, abrir um restaurante, sebrae, cozinha profissional, cozinha industrial, cozinha comercial " /> <meta name="description" content="Cursos, Video-aulas e Treinamento para restaurantes e bares"> <link href="</script> <div id="mostra"><a href="http://www.gestaoderestaurantes.com.br/loja_virtual.html" target=_blank><img src=""http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <map name="Map" id="Map"> <area shape="poly" coords="767,-1,1003,178,1001,58,1000,-1,923,0" href="https://www.facebook.com/gestaoderestaurantes" target="_blank" alt="facebook" /> </map> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-7835451-1']); _gaq.push(['_setCampNameKey', 'teste']); _gaq.push(['_setCampSourceKey', 'teste']); _gaq.push(['_setCampMediumKey', 'teste']); _gaq.push(['_setCampTermKey', 'teste']); _gaq.push(['_setCampContentKey', 'teste']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> </body> <footer> <div class="footer"> <div class="col-lg-3"> <h4>Sobre nos</h4> <a href="http://www.gestaoderestaurantes.com.br/quem_somos.html" style="text-decoration:none">Quem Somos</a><br> <a href="http://www.gestaoderestaurantes.com.br/imprensa.html" style="text-decoration:none">GR na Imprensa</a><br> </div> <div class="col-lg-3"> <h4>Treinamento</h4> <a href="http://gestaoderestaurantes.com.br/blog/index.php/category/cursos-e-treinamentos/" style="text-decoration:none">Cursos</a><br> <a href="https://gestaoderestaurantes.commercesuite.com.br/" style="text-decoration:none">Loja Virtual</a><br> <a href="http://www.gestaoderestaurantes.com.br/downloads_gratis.html" style="text-decoration:none">Conteúdo Grátis</a><br> </div> <div class="col-lg-3"> <h4>Mercado</h4> <a href="http://www.gestaoderestaurantes.com.br/classificados.html" style="text-decoration:none">Classificados</a><br> <a href="http://www.gestaoderestaurantes.com.br/vagas.html" style="text-decoration:none">Emprego</a><br> <a href="http://www.gestaoderestaurantes.com.br/feiras_eventos.html" style="text-decoration:none">Feiras e Eventos</a><br> </div> <div class="col-lg-3" > <h4>Contato</h4> <a href="http://www.gestaoderestaurantes.com.br/contato.html" style="text-decoration:none">Fale Conosco</a><br> <a href="http://www.gestaoderestaurantes.com.br/publicidade.html" style="text-decoration:none">Anunciar no Portal</a><br> </div> </div> </footer> <!-- InstanceEnd --></html>

"

e o envia.php está assim

"<html lang="pt-br">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?
$headers = "Content-Type: text/html; charset=UTF-8";
$mensagem = "Nome: ".$_POST['nome']." \n";
//email que o usuário preencheu
$mensagem .= "Email: ".$_POST['email']." \n";
$mensagem .= "Mensagem: ". $_POST['mensagem'];
$headers = "";
//email do seu domínio hospedado
$emailsender = "contato@gestaoderestaurantes.com.br";
//email de quem vai receber
$emaildestinatario = "contato@gestaoderestaurantes.com.br";
$assunto = "SAC - Gestao de Restaurantes 1122 6";
// Envio dos dados do Formulário para seu e-mail:
if(!mail($emaildestinatario, $assunto, $mensagem, $headers ,"-r".$emailsender))
{
// Se for Postfix - hospedagem linux
$headers .= "Return-Path: " . $emailsender . $quebra_linha;
}
echo '
<script type="text/JavaScript">
alert("Seu e-mail foi enviado com sucesso. Obrigado");
location.href="sucesso.html"
</script>
';
?>
</body>

</html>"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Game Over pra mim. :)



Apos ferver as idéias analisando e testando os códigos, verifiquei nas configurações no webmail (roundcube) do servidor, estava setado para (ISO-8859-1).



Alterei para UTF-8, tudo resolvido.



Passa a régua e fecha a conta moço.


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.