Zoação 2 Denunciar post Postado Maio 2, 2013 Criei um formulário simples em PHP que envia os dados de um formulário diretamente para um endereço de e-mail, porém sempre que estes dados chegam, todo caracter que possui acentuação chega errado, vejam o exemplo: Enviado: "áéúíõô" Recebido: "??????" O que preciso e colocar e como no arquivo PHP para então corrigir este erro? Obrigado!! Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Rangel 208 Denunciar post Postado Maio 2, 2013 abra o arquivo no notepad++ clica em enconding e mude para UTF-8 SEM BOOM. pronto Compartilhar este post Link para o post Compartilhar em outros sites
mangakah 217 Denunciar post Postado Maio 2, 2013 Acho que esse formulário tá te zuando, cara!!! :P (Desculpa, não resisti) Compartilhar este post Link para o post Compartilhar em outros sites
Zoação 2 Denunciar post Postado Maio 3, 2013 Pessoal, Não entendi... afinal está chegando assim em meu e-mail ... e não um arquivo que tenho no pc. Sempre que alguém preenche os dados nos campos de um formulário que criei em html com chamada para php, os mesmos ao serem enviados, vão desta forma ... e não com acentuação correta. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Maio 3, 2013 normalize o aplicativo PHP, HTML, MySQL - Charset Encoding Compartilhar este post Link para o post Compartilhar em outros sites
Zoação 2 Denunciar post Postado Maio 12, 2013 Continuou sem entender ... afinal isto chega em minha caixa postal online e não é nenhum programa instalado em meu computador. Por tanto, sempre que eu recebo um e-mail, ao abrir minha caixa postal online (sem uso de programa no pc) fica assim. Compartilhar este post Link para o post Compartilhar em outros sites
Ricardo Saraiva 84 Denunciar post Postado Maio 12, 2013 Configure a codificação de caracteres para UTF-8 em todo a sua aplicação inclussivel no cabeçalho do e-mail. http://www.php.net/manual/pt_BR/function.mail.php Compartilhar este post Link para o post Compartilhar em outros sites
Zoação 2 Denunciar post Postado Maio 12, 2013 Não funcionou ainda... Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Maio 12, 2013 e agora, o que fazer? Compartilhar este post Link para o post Compartilhar em outros sites
Zoação 2 Denunciar post Postado Maio 12, 2013 é isto que queria saber. O que fazer neste caso ... Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Maio 12, 2013 Qual é o navegador que você utiliza? Compartilhar este post Link para o post Compartilhar em outros sites
Ricardo Saraiva 84 Denunciar post Postado Maio 12, 2013 Posta o código que fica mais de te ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
Zoação 2 Denunciar post Postado Maio 12, 2013 Este é o código PHP : ------------------- INÍCIO DO CÓDIGO --------------------------------- <?php$nome = $_POST["nome"];$email = $_POST["email"];$mensagem .= "Nome: $nome\n";$mensagem .= "E-mail: $email\n\n";mail("meuenderecodeemail@yahoo.com.br", "CadastroNews", $mensagem, "From: $email");echo "<h3><center> Obrigado! Seu cadastro foi realizado com sucesso!!!<center></h3>\n\n";?> --------------- FIM DO CÓDIGO ---------------------------------------- Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Vieira_25209 0 Denunciar post Postado Maio 13, 2013 Solução simples, depurando o código.01º. Passo: Na página principal do formulário deverá haver a cabeçalho/header no seguinte padrão. formulario.php <?php header('Content-Type: text/html; charset=utf-8'); ?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> </head> <body> <form name="contato"> <input type="text" name="nome" /> <input type="text" name="idade" /> </form> </body> </html> 02º Passo: Na tela onde irá receber e processar os posts enviados deverá conter a seguinte header você pode receber direto <?php header('Content-Type: text/html; charset=utf-8'); $nome = $_POST['nome']; $idade = $_POST['idade']; ?> ou decodificando com a função utf8_decode nativa do php <?php header('Content-Type: text/html; charset=utf-8'); $nome = utf8_decode($_POST['nome']); $idade = utf8_decode($_POST['idade']); ?> Segue abaixo um exemplo mais extenso recebendo os formulário utilizando um objeto $formulario = new Formulario(); $diaSemana = array('Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado'); $numDia = date('w'); $diaExtenso = $diaSemana[$numDia]; $data = date('d/m/y'); $hora = date('H:i'); $ip = getenv('REMOTE_ADDR'); $to = "{$formulario->departamento}@seuemail.com"; // INSIRA AQUI O ENDEREÇO DO DESTINATÁRIO, E-MAIL VÁLIDO DE SEU DOMONÍO $html = '<html> <head> <title>MENSAGEM</title> <style type="text/css"> body { font-family: verdana; margin: 0; color: black; font-size: 12px; text-align: left; } #MENSAGEM .titulo {color: #38596E; font-size: 18px} #MENSAGEM .mensagem {text-align: justify; font-size: 14px;} #MENSAGEM a {text-decoration: none;} #MENSAGEM a:hover {text-decoration: none; color: black;} </style> </head> <body> <fieldset id="MENSAGEM"> <legend style="color: #cc3300; font-size: 25px; margin: 10px; padding-left: 10px; padding-right: 10px"> CONTATO <img src="contact1.png" alt="mail" style="vertical-align: middle; width: 50px; height: 50px;"/> </legend> <fieldset> <legend class="titulo"> CABEÇALHO </legend> <p> DEPARTAMENTO: <font color="red">Atendimento</font> </p> <p> ASSUNTO: <font color="red">'.$formulario->assunto.'</font> </p> </fieldset> <br /> <fieldset> <legend class="titulo"> INFORMAÇÕES </legend> <p> NOME: '.$formulario->nome.' </p> <p> ENDEREÇO: '.$formulario->endereco.' - '.$formulario->cidade.' / '.$formulario->estado.'</p> <p> CEP: '.$formulario->cep.' </p> <p> TELEFONE: ('.$formulario->ddd.') '.$formulario->telefone.'</p> <p> E-MAIL: '.$formulario->email.'</p> </fieldset> <br /> <fieldset> <legend class="titulo"> MENSAGEM </legend> <p class="mensagem"> '.nl2br($formulario->mensagem).' </p> <br /> <p style="color:gray; font-size: 10px; border: 1px dashed gray; padding-left: 10px;"> Mensagem pode vir formatada com uso de TAG's: <b> Texto </b> <i> Texto </i> <s> Texto </s> <cite> Text </cite> <span style="color:red;"> Texto </span> </p> </fieldset> <br /> <fieldset class="discreto"> <legend class="titulo"> DETALHES </legend> <p>DATA: '.$diaExtenso.', dia '.$data.' as '.$hora.'</p> <p>IP: '.$ip.'</p> </fieldset> <br /> </fieldset> </body> </html>'; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=ISO-8859-1' . "\r\n"; $headers .= 'Bcc: @seuemail.com' . "\r\n"; $headers .= 'Return-Path: '.$formulario->email. "\r\n"; // return-path $headers .= 'From: '.$formulario->email. "\r\n"; $headers .= 'Reply-To: '.$formulario->email. "\r\n"; if($formulario->departamento != 'atendimento'){ $headers .= 'Cc: @seuemail.com' . "\r\n"; } if(mail($to, "Contato formulário site: $formulario->assunto", $html, $headers)){ Message::messageUIDialog('message', 'Sucesso', 'Mensagem enviada com sucesso.'); echo "<script type='text/javascript'>$(function(){ $('#idFContato').reset(); });</script>"; return true; }else{ Message::messageUIDialog('message', 'Falha', 'Erro'); return false; } } Compartilhar este post Link para o post Compartilhar em outros sites
Zoação 2 Denunciar post Postado Maio 19, 2013 Infelizmente já tentei inúmeras formas, mas sempre envia os dados desconfigurados ... Compartilhar este post Link para o post Compartilhar em outros sites
EduardoAugustoPHP 27 Denunciar post Postado Maio 19, 2013 já tentou o utf8_encode??? <?php $nome = utf8_encode($_POST["nome"]); $email = utf8_encode($_POST["email"]); $mensagem .= utf8_encode("Nome: $nome\n"); $mensagem .= utf8_encode("E-mail: $email\n\n"); mail("meuenderecodeemail@yahoo.com.br", "CadastroNews", $mensagem, "From: $email"); echo "<h3><center> Obrigado! Seu cadastro foi realizado com sucesso!!!<center></h3>\n\n"; ?> Compartilhar este post Link para o post Compartilhar em outros sites
Zoação 2 Denunciar post Postado Maio 19, 2013 Infelizmente não funcionou não... continua enviando errado para o email. Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Rangel 208 Denunciar post Postado Maio 19, 2013 já tentou a minha dica? abra o arquivo no notepad++ clica em enconding e mude para UTF-8 SEM BOOM. Compartilhar este post Link para o post Compartilhar em outros sites
Zoação 2 Denunciar post Postado Maio 21, 2013 Caro Vinicius, Não consegui entender sua dica, afinal ao que entendi você esta dizendo para abrir um programa no computador, seria isto? Compartilhar este post Link para o post Compartilhar em outros sites
Vinicius Rangel 208 Denunciar post Postado Maio 21, 2013 Isso, notepad++ é um editor de texto e usado para programar. um dos recursos dele é trocar o enconding do arquivo, que no seu caso esta errado. 90% de chance do seu erro estar em relação a isso. não conheço nenhum outro programa que faça isso, o notepad tem 16 MB. baixa e faça o que falei. Compartilhar este post Link para o post Compartilhar em outros sites