Ir para conteúdo

POWERED BY:

Arquivado

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

baribu

[Resolvido] Problema com codificação, caracteres estranhos .

Recommended Posts

olá, sou novo em php e estou com alguns problemas, estou fazendo um formulário que envia os dados para o banco de dados e envia tb para o e-mail. o problema é que não banco de dados ele chega normal sem nenhum problema, e no e-mail chega estranho com uns caracteres tudo errada sempre onde tem acentos.

já tentei fazer algumas coisas mais nada ainda, o formulário tá em charset=iso-8859-1 e a função que envia.php tb , já tentei tb com utf-8 com e sem bom, e ainda continua chegando errado no e-mail. estou fazendo alguma coisa errada ? Obg

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

// fun??es para salvar no banco de dados e enviar por e-mail 

$conexao = mysql_connect ("banco","usuário","senha");
$banco = mysql_select_db ("tabela", $conexao) ; 

$formato ="\ncontent-type:text/html\n" ;

global $msg ;

if ($_GET['funcao'] == "web") {

$nome = $_POST['nome'] ;
$email = $_POST['email'] ;
$telefone = $_POST['telefone'] ;
$cidade = $_POST['cidade'] ;
$estado = $_POST['estado'] ;
$representacao = $_POST['representacao'] ;
$atuacao = $_POST['atuacao'] ;
$identidade = $_POST['identidade'] ;
$administracao = $_POST['administracao'] ;
$site = $_POST['site'] ;
$sobre = $_POST['sobre'] ;

$gravar = mysql_query ("INSERT INTO webdesigner (nome, email, telefone, cidade, estado, representacao, atuacao, identidade, administracao, site, sobre) value ('$nome', '$email', '$telefone', '$cidade', '$estado', '$representacao', '$atuacao', '$identidade', '$administracao', '$site', '$sobre')");



$msg .= "<b> Nome: </b> $nome <br>" ;
$msg .= "<b> E-mail: </b> $email <br>" ;
$msg .= "<b> Telefone: </b> $telefone <br>" ;
$msg .= "<b> Cidade: </b> $cidade <br>" ;
$msg .= "<b> Estado: </b> $estado <br>" ;
$msg .= "<b> Representa??o: </b> $representacao <br>" ;
$msg .= "<b> ?rea de atua??o: </b> $atuacao <br>" ;
$msg .= "<b> Identidade visual: </b> $identidade <br>" ;
$msg .= "<b> Administra??o: </b> $administracao <br>" ;
$msg .= "<b> Site ref?ncia: </b> $site <br>" ;
$msg .= "<b> Sobre o projeto: </b> $sobre <br>" ;


mail("email", "Formulário de contato","$msg","from: ".$email.$formato) ;




}



if ($_GET['funcao'] == "outros") {

$nome = $_POST['nome'] ;
$email = $_POST['email'] ;
$telefone = $_POST['telefone'] ;
$cidade = $_POST['cidade'] ;
$estado = $_POST['estado'] ;
$representacao = $_POST['representacao'] ;
$atuacao = $_POST['atuacao'] ;
$servicos = $_POST['servicos'];
$sobre = $_POST['sobre'] ;

$gravar = mysql_query ("INSERT INTO outros (nome, email, telefone, cidade, estado, representacao, atuacao, servicos, sobre) value ('$nome', '$email', '$telefone', '$cidade', '$estado', '$representacao', '$atuacao', '$servicos', '$sobre')");


$msg .= "<b> Nome: </b> $nome <br>" ;
$msg .= "<b> E-mail: </b> $email <br>" ;
$msg .= "<b> Telefone: </b> $telefone <br>" ;
$msg .= "<b> Cidade: </b> $cidade <br>" ;
$msg .= "<b> Estado: </b> $estado <br>" ;
$msg .= "<b> Representa??o: </b> $representacao <br>" ;
$msg .= "<b> ?rea de atua??o: </b> $atuacao <br>" ;
$msg .= "<b> Tipo de servi?os: </b> $servicos <br>" ;
$msg .= "<b> Sobre o projeto: </b> $sobre <br>" ;


mail("email", "Formulário de contato ","$msg","from: ".$email.$formato) ;




}




if ($_GET['funcao'] == "contato") {

$nome = $_POST ['nome'] ;
$email = $_POST['email'] ;
$assunto = $_POST['assunto' ] ;
$mensagem = $_POST['mensagem'] ;

$gravar = mysql_query ("INSERT INTO contato (nome, email, assunto, mensagem) value ('$nome', '$email', '$assunto', '$mensagem')");



$msg .= "<b> Nome: </b> $nome <br>" ;
$msg .= "<b> E-mail: </b> $email <br>" ;
$msg .= "<b> Assunto: </b> $assunto <br>" ;
$msg .= "<b> Mensagem: </b> $mensagem <br>" ;



mail("email", "Formulário de contato  ","$msg","from: ".$email.$formato) ;


}
echo "<script>window.location='confirmacao.html';</script>";

?>

 

 

Então o formulário está funcionando perfeitamente, são três formulários. se tiverem tb alguma dica ou melhora para o formulário eu agradeço !

Compartilhar este post


Link para o post
Compartilhar em outros sites

todos os campos apareçem com caracteres estranhos?

 

tenta usar utf8_encode(), e se não der certo o utf8_decode();

 

vê se funciona...

Compartilhar este post


Link para o post
Compartilhar em outros sites

todos os campos apareçem com caracteres estranhos?

 

tenta usar utf8_encode(), e se não der certo o utf8_decode();

 

vê se funciona...

 

 

sim todos os campos, mais só no e-mail, no banco chega normal, como falei sou novo em php, é para usar o utf8_encode() assim " utf8_encode($nomedavariavel)" nas variáveis que vai para o e-mail ou em todas ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim:

 

tenta o encode, se não der certo usa o decode...

 

usa principalmente nos campos que estão com caracteres estranhos...

 

<?php
  // modo de usar
  $email = utf8_encode($email);

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

há vários modos de resolver, como no exemplo do jnejunior

 

 

mas, já que você é novato, aconselho a aprender as boas práticas de programaçao e forma correta para se resolver, senão você ficará viciado em más práticas de programação, dificultando o seu progresso profissional com o tempo..

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim:

 

tenta o encode, se não der certo usa o decode...

 

usa principalmente nos campos que estão com caracteres estranhos...

 

<?php
  // modo de usar
  $email = utf8_encode($email);

?>

 

ok, vou tentar ! então fiz o que você falou e nada ainda, agora no lugar dos caracteres estranhos aparece no lugar dos acentos uma interrogação, tipo não aparece n? , eu usei assim :

$mensagem = utf8_encode($_POST["mensagem"]);

e decode tb , e agora ? :S

 

há vários modos de resolver, como no exemplo do jnejunior

 

 

mas, já que você é novato, aconselho a aprender as boas práticas de programaçao e forma correta para se resolver, senão você ficará viciado em más práticas de programação, dificultando o seu progresso profissional com o tempo..

 

é eu sei, eu ainda estou estudando, só que preciso desse formulário. Obg

 

nada gente ? :S

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema já foi resolvido, tava no e-mail mesmo, para o meu e-mail do meu domínio tava dando erro, então eu botei um gmail e funcionou normal, deve ser algum problema com webmail da kinghost

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.