Jump to content


Photo

Caracteres Estranhos Via Formulário Php


  • Faça o login para participar
9 replies to this topic

#1 Eric™

Eric™

    Novato no fórum

  • Usuários
  • 14 posts
  • Sexo:Não informado
  • Localidade:São Paulo

Posted 29/09/2008, 14:56

Olá,

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
Domínio: Adobe Flash, Photoshop, Dreamweaver, Sony Vegas, HTML, CSS.
Conhecimento: PHP, MySql, JavaScript, Adobe Premiere.
Noções: Corel Draw, Adobe AfterEffects.

#2 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 29/09/2008, 15:01

Utilize a busca, amigo... clique aqui! (y)

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#3 Rustin

Rustin

    Parradise

  • Usuários
  • 578 posts
  • Sexo:Não informado

Posted 29/09/2008, 16:38

E também atente ao fato de que o charset "utf8" não existe ;)
"O fracasso não é o contrário do sucesso, mas sua fonte de inspiração". Thomas Edison

#4 marcuseduado

marcuseduado

    Normal

  • Usuários
  • 61 posts
  • Sexo:Não informado

Posted 29/09/2008, 23:18

tente mudar o leitor de e-mails. as vezes o problema é nele
Mentes GRANDES discutem idéias, mentes pequenas discutem pessoas.

#5 ## Dark Angell ##

## Dark Angell ##

     

  • Usuários
  • 147 posts
  • Sexo:Masculino

Posted 29/09/2008, 23:21

<?php


	// Essa função é minha hein.... =P
	function textToCode($textTo){

	  $Text = array("á","Á","ã","Ã","â","Â","à","À","é","É","ê","Ê","í","Í","ó","Ó","õ","Õ","Ô","ú","Ú","ü","Ü","ç","Ç",">","<","ˆ","˜","¨","´","\"","“","”","‘","’","‹","›","«","»","º","ª","–","—","­","¯","…","¦","•","¶","§","©","®","™","£","¢","€","¥","¤","¹","²","³","½","¼","¾","±","-","×","÷","/","‰","˜","=","=","=","·","ô");

	  $Ascii = array("&aacute;","&Aacute;","&atilde;","&Atilde;","&acirc;","&Acirc;","&agrave;","&Agrave;","&eacute;","&Eacute;","&ecirc;","&Ecirc;","&iacute;","&Iacute;","&oacute;","&Oacute;","&otilde;","&Otilde;","&Ocirc;","&uacute;","&Uacute;","&uuml;","&Uuml;","&ccedil;","&Ccedil;","&gt;","&lt;","&circ;","&tilde;","&uml;","&cute;","&quot;","&ldquo;","&rdquo;","&lsquo;","&rsquo;","&lsaquo;","&rsaquo;","&laquo;","&raquo;","&ordm;","&ordf;","&ndash;","&mdash;","&shy;","&macr;","&hellip;","&brvbar;","&bull;","&para;","&sect;","&copy;","&reg","&trade;","&pound;","&cent;","&euro;","&yen;","&curren;","&sup1;","&sup2;","&sup3;","&frac12;","&frac14;","&frac34;","&plusmn;","&minus;","&times;","&divide;","&frasl;","&permil;","&asymp;","&equiv;","&le;","&ge;","&middot;","&ocirc;");

	  $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 marcuseduado

marcuseduado

    Normal

  • Usuários
  • 61 posts
  • Sexo:Não informado

Posted 01/10/2008, 23:39

Essa dai creio que vá funcionar no script do cara...

Bastant util este seu post Dark Angel, inteligente o uso de str_replace para comparar;
Mentes GRANDES discutem idéias, mentes pequenas discutem pessoas.

#7 luizbaca

luizbaca

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Não informado

Posted 27/10/2008, 16:52

bom dia galera...

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("&aacute;","&Aacute;","&atilde;","&Atilde;","&acirc;","&Acirc;","&agrave;","&Agrave;","&eacute;","&Eacute;","&ecirc;","&Ecirc;","&iacute;","&Iacute;","&oacute;","&Oacute;","&otilde;","&Otilde;","&Ocirc;","&uacute;","&Uacute;","&uuml;","&Uuml;","&ccedil;","&Ccedil;","&gt;","&lt;","&circ;","&tilde;","&uml;","&cute;","&quot;","&ldquo;","&rdquo;","&lsquo;","&rsquo;","&lsaquo;","&rsaquo;","&laquo;","&raquo;","&ordm;","&ordf;","&ndash;","&mdash;","&shy;","&macr;","&hellip;","&brvbar;","&bull;","&para;","&sect;","&copy;","&reg","&trade;","&pound;","&cent;","&euro;","&yen;","&curren;","&sup1;","&sup2;","&sup3;","&frac12;","&frac14;","&frac34;","&plusmn;","&minus;","&times;","&divide;","&frasl;","&permil;","&asymp;","&equiv;","&le;","&ge;","&middot;","&ocirc;");

$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 silici0

silici0

    ?

  • Usuários
  • 902 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:PHP, MySQL, XHTML, CSS, AJAX, JavaScript, Objective-C, Python, Games ... #geek

Posted 27/10/2008, 17:22

utf8_encode();
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.

Procurando freelancer
***********************************************
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 luizbaca

luizbaca

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Não informado

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 silici0

silici0

    ?

  • Usuários
  • 902 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:PHP, MySQL, XHTML, CSS, AJAX, JavaScript, Objective-C, Python, Games ... #geek

Posted 28/10/2008, 10:35

Sim...

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
Procurando freelancer
***********************************************
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)

IPB Skin By Virteq