Caracteres Estranhos Via Formulário Php
#1
Posted 29/09/2008, 14:56
Tenho um formulário em PHP funcionando, mas alguns caracteres (acentos, etc) não aparecem corretamente no e-mail. Já tentei de vários jeitos, mas ainda não consegui corrigir o problema.
Segue parte do código:
[codebox]
$v_nome = $_POST[txtNome];
$v_end = $_POST[txtEndereco];
$v_email = $_POST[txtEmail];
$mens .= "Nome: ".$v_nome." \n";
$mens .= "Endereço: ".$v_end." \n";
$mens .= "Email: ".$v_email." \n";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf8\r\n";
$envia = mail($email_dest, "Contato", $mens,"From:".$v_email."\r\nBcc:".$v_email);
[/codebox]
Abs
Conhecimento: PHP, MySql, JavaScript, Adobe Premiere.
Noções: Corel Draw, Adobe AfterEffects.
#2
Posted 29/09/2008, 15:01
Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens!
#3
Posted 29/09/2008, 16:38
#4
Posted 29/09/2008, 23:18
#5
Posted 29/09/2008, 23:21
<?php // Essa função é minha hein.... =P function textToCode($textTo){ $Text = array("á","Á","ã","Ã","â","Â","à","À","é","É","ê","Ê","í","Í","ó","Ó","õ","Õ","Ô","ú","Ú","ü","Ü","ç","Ç",">","<","ˆ","Ëœ","¨","´","\"","“","â€","‘","’","‹","›","«","»","º","ª","–","—","","¯","…","¦","•","¶","§","©","®","â„¢","£","¢","€","¥","¤","¹","²","³","½","¼","¾","±","-","×","÷","/","‰","Ëœ","=","=","=","·","ô"); $Ascii = array("á","Á","ã","Ã","â","Â","à","À","é","É","ê","Ê","í","Í","ó","Ó","õ","Õ","Ô","ú","Ú","ü","Ü","ç","Ç",">","<","ˆ","˜","¨","&cute;",""","“","”","‘","’","‹","›","«","»","º","ª","–","—","­","¯","…","¦","•","¶","§","©","®","™","£","¢","€","¥","¤","¹","²","³","½","¼","¾","±","−","×","÷","⁄","‰","≈","≡","≤","≥","·","ô"); $textTo=str_replace($Text,$Ascii,$textTo); return $textTo; } $v_nome = textToCode($_POST['txtNome']); $v_end = textToCode($_POST['txtEndereco']); $v_email = textToCode($_POST['txtEmail']); $mens .= "Nome: ".$v_nome." \n"; $mens .= "Endereço: ".$v_end." \n"; $mens .= "Email: ".$v_email." \n"; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=utf8\r\n"; $envia = mail($email_dest, "Contato", $mens,"From:".$v_email."\r\nBcc:".$v_email);
tenta ae...
se não der certo...é só avisar...^^
[ ] 's
Edição feita por: ## Dark Angell ##, 30/09/2008, 13:17.
#6
Posted 01/10/2008, 23:39
Bastant util este seu post Dark Angel, inteligente o uso de str_replace para comparar;
#7
Posted 27/10/2008, 16:52
cara, adoraria fazer o codigo do dark angel funcionar no me form, mas nao teve acordo, será que alguem identifica o prob pra mim??? sofro com essa fita de caractere desde q comecei com web
vou postar o codigo todo pra fazer uma viagem soh ok?
<?php
function textToCode($textTo){
$Text = array("á","Á","ã","Ã","â","Â","à","À","é","É","ê","Ê","í","Í","ó","Ó","õ","Õ","Ô","ú","Ú","ü","Ü","ç","Ç",">","<","ˆ","Ëœ","¨","´","\"","“","â€","‘","’","‹","›","«","»","º","ª","–","—","","¯","…","¦","•","¶","§","©","®","â„¢","£","¢","€","¥","¤","¹","²","³","½","¼","¾","±","-","×","÷","/","‰","Ëœ","=","=","=","·","ô");
$Ascii = array("á","Á","ã","Ã","â","Â","à","À","é","É","ê","Ê","í","Í","ó","Ó","õ","Õ","Ô","ú","Ú","ü","Ü","ç","Ç",">","<","ˆ","˜","¨","&cute;",""","“","”","‘","’","‹","›","«","»","º","ª","–","—","­","¯","…","¦","•","¶","§","©","®","™","£","¢","€","¥","¤","¹","²","³","½","¼","¾","±","−","×","÷","⁄","‰","≈","≡","≤","≥","·","ô");
$textTo=str_replace($Text,$Ascii,$textTo);
return $textTo;
}
$nome = textToCode($_POST["nome"]);
$email = textToCode($_POST["email"]);
$cidade = textToCode($_POST["cidade"]);
$assunto = textToCode($_POST["assunto"]);
$mensagem = textToCode($_POST["mensagem"]);
global $email; //função para validar a variável $email no script todo
$data = date("d/m/y"); //função para pegar a data de envio do e-mail
$ip = $_SERVER['REMOTE_ADDR']; //função para pegar o ip do usuário
$navegador = $_SERVER['HTTP_USER_AGENT']; //função para pegar o navegador do visitante
$hora = date("H:i"); //para pegar a hora com a função date
//aqui envia o e-mail para você
mail ("contato@cidadeemfesta.com.br", //email aonde o php vai enviar os dados do form
"Contato: $assunto $data $hora - Cidadeemfesta",
"Ip: $ip\nNavegador: $navegador\n\nNome: $nome\nE-mail: $email\nCidade: $cidade\n\nAssunto: $assunto\n\nMensagem: $mensagem",
"From: $email"
);
//aqui são as configurações para enviar o e-mail para o visitante
$site = "contato@cidadeemfesta.com.br"; //o e-mail que aparecerá na caixa postal do visitante
$titulo = "RE:Contato Cidadeemfesta"; //titulo da mensagem enviada para o visitante
$msg = "$nome,\n\nObrigado por utilizar o guia Cidadeemfesta.com.br\nEm breve retornaremos seu contato.\n\nAtenciosamente,\n\nEquipe Cidadeemfesta.com.br";
//aqui envia o e-mail de auto-resposta para o visitante
mail("$email",
"$titulo",
"$msg",
"From: $site"
);
header("Location: contatofeito.php?nome=$nome");
?>
#8
Posted 27/10/2008, 17:22
utf8_decode();
Testa as funções se não procura na net a função : crossUrlDecode();
Abraços
Edição feita por: silici0, 27/10/2008, 17:22.
***********************************************
Bachelor of Technology in Technology of Information, with great knowledge in Windows operating systems and Unix-Like (BSD, Ubuntu and Slackware), languages (PHP, JavaScript and MySQL), semantic (DHTML, Tableless, Ajax, MVC, OO) and analysis (manages projects based on PMI).
Developer in PHP, JAVA, Python, Objective-c MySQL, DHTML, CSS, JAVASCRIPT, JQUERY, JSON, SMARTY, MDB2, DOCTRINE, CAKEPHP. Linux desktop for work and MacOS. E-commerces, CRM and bussiness strategys
Love-me and be FREE use UniCes-Like .
#9
Posted 27/10/2008, 17:44
utf8_encode();
utf8_decode();
Testa as funções se não procura na net a função : crossUrlDecode();
Abraços
no-way irmao
essa crossUrlDecode() parece um bixo de 7 cabeças nao entendi nada!!
essas funçoes q c passou era pra usar assim? $nome = utf8_decode($_POST['nome']);
heeeeeeeeeeeeeeeeeeeeeeeeeeelp!!!!
#10
Posted 28/10/2008, 10:35
crossUrlDecode é justamente para problemas com acentuação e caracteres estranhos !!! Não quer usa-la você pode ficar com o problema então!
Para o header utilize :
$headers .= "Content-type: text/html\r\n";
E informações utilizer o utf8_encode e utf8_decode, caso não consiga mesmo assim, procure mais informações em : http://www.email-standards.org/
Abraços
***********************************************
Bachelor of Technology in Technology of Information, with great knowledge in Windows operating systems and Unix-Like (BSD, Ubuntu and Slackware), languages (PHP, JavaScript and MySQL), semantic (DHTML, Tableless, Ajax, MVC, OO) and analysis (manages projects based on PMI).
Developer in PHP, JAVA, Python, Objective-c MySQL, DHTML, CSS, JAVASCRIPT, JQUERY, JSON, SMARTY, MDB2, DOCTRINE, CAKEPHP. Linux desktop for work and MacOS. E-commerces, CRM and bussiness strategys
Love-me and be FREE use UniCes-Like .
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)