Ir para conteúdo
Fórum Script Brasil
  • 0

Caracteres


Thiago0803

Pergunta

Bom dia...

Estou com um problema aqui, tentei de tudo que encontrei no fórum e não consegui...

Seguinte:

Tenho uma $var e vou incluí-la num campo de minha tabela!!

Quando dou o insert ele vai aqueles caracteres estranhos e se eu dou um echo na variável, ele vem corretamente...

Alguém imagina como corrijo isso:?

Vou mandar o código do arquivo todo para vocês verem:

<?php 
include("config.php");
include("restrito.php");
$xassunto = $_POST['assunto'];
$xproblema = $_POST['problema'];
$xemail = $_POST['email'];
$xsetor = $_POST['setor'];

 if(($_POST['assunto'] == 1) || ($_POST['assunto'] == 2) || ($_POST['assunto'] == 3) || ($_POST['assunto'] == 4))
 $destino = 1;
 else if(($_POST['assunto'] == 5) || ($_POST['assunto'] == 6) || ($_POST['assunto'] == 7) || ($_POST['assunto'] == 8) || ($_POST['assunto'] == 9) || ($_POST['assunto'] == 10) || ($_POST['assunto'] == 11))
 $destino = 2;

$data = date("Y-m-d H:i:s");
echo "<BR>";
echo date("d/m/Y H:i:s");
echo"<BR>";

$insert = mysql_query("INSERT INTO protocolos (IDProtocolo,UserProt,Problema,Assunto,setor,data_inicio,Status) values ('$mpID','".$_SESSION["login"]."','$xproblema','$xassunto','$xsetor','$data',1)"); 

$msql = mysql_query("select IDProtocolo from protocolos where UserProt='".$_SESSION["login"]."' ORDER BY IDProtocolo DESC LIMIT 1") or die("Erro na busca do Protocolo");


while($linha = mysql_fetch_array($msql))
{
      $xprotocolo = $linha["IDProtocolo"];
}

echo "Sua solicitação foi registrada com sucesso!<BR>Entraremos em contato o mais rápido possível.<BR><BR>";
echo ("Numero do protocolo: $xprotocolo"."<BR>");
echo "Será enviado um email enviado para: $xemail<BR>";
echo "<BR>";


//echo $mpID;


echo "Deseja criar uma nova solicitação?<a href='index.php'> Criar Novo</a>";

/* Inicio do envio de e-mail */
$to = $_POST["email"];
// to = email receptor

$subject .= "Suporte - Brassuco";
// Assunto da mensagem
$message .= "Content-type: text/html; charset=utf-8\r\n";
$message = "O problema reportado foi:<BR>";
$message .= $xproblema;
$message .= "<BR>O numero do Protocolo: $xprotocolo";
$message .= "<BR> Assim que possivel entraremos em contato!<BR><BR>";
$message .= "<BR><BR>";
$message .= "<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>";

// defina o corpo da mensagem

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "From: Suporte - Brassuco \r\n ";
// defina o nome e e-mail para remetente


mail($to, $subject, $message, $headers);
/* Fim do envio de email */

if($destino==1)
{
        
    
    $subject1 = "Suporte - Brassuco";
    
    $message1 = "Foi aberto um chamado!<BR>Numero do Protocolo: $xprotocolo<BR>";
    $message1 .= "Resumo do problema:<BR>";
    $message1 .= "<BR>";
    $message1 .= $xproblema;
    
    $headers1 = "MIME-Version: 1.0\r\n";
    $headers1 .= "Content-type: text/html; charset=utf-8\r\n";
    $headers1 .= ("From: '".$_SESSION['login']."'");
    mail($to1, $subject1, $message1, $headers1);
}
else
{
    
    
    $subject2 = "Solicitação de Suporte";
    
    $message2 = "Foi aberto um chamado!<BR>Numero do Protocolo: $xprotocolo<BR>";
    $message2 .= "Resumo do problema:<BR>";
    $message2 .= "<BR>";
    $message2 .= $xproblema;
    
    $headers2 .= "MIME-Version: 1.0\r\n";
    $headers2 .= "Content-type: text/html; charset=utf-8\r\n";
    $headers2 .= ("From: '".$_SESSION['login']."'");
    mail($to2, $subject2, $message2, $headers2);
}

unset($xassunto,$xproblema,$xemail,$xsetor,$insert,$_SESSION['login']); //Destrói todas as variáveis().
@session_destroy();
    ?>

</DIV>

E eu não entendo...

As vezes o titulo do e-mail vem zuado também e tal!

Foda...

=\

No banco tenho esta informação:

Conjunto de caracteres MySQL: UTF-8 Unicode (utf8)

que é a mesma codificação que uso no PHP =\

mas não sei o porque ele está dando isso...na maioria das vezes o $xproblema fica OK...

mas na inserção ele zoa!

Editado por Thiago0803
Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

O collation do banco já está UTF-8-GENERAL_CI...

Eu tenho N tabelas nesse banco e apenas UMA não está incluindo caracteres com acento...

O que eu poderia modificar no código PHP, por ex, para eliminar este problema?

Sabe?

Por exemplo:

Tenho este insert que inclui no banco as informações do formulário!!

$insert = mysql_query("INSERT INTO protocolos (IDProtocolo,UserProt,Problema,Assunto,setor,data_inicio,Status) values ('$mpID','".$_SESSION["login"]."','$xproblema','$xassunto','$xsetor','$data',1)");

AÍ eu não precisaria incluir algo para ele já inserir com utf-8 e blablabla?

Link para o comentário
Compartilhar em outros sites

  • 0

Deixa eu descrever certinho o que acontece, fica mais fácil...

Nesse envio.php eu pego as informações de um formulário.

1. Ele exibe na tela para mim a variável $xproblema.

2. Ele insere o problema no banco.

3. Ele envia para o meu e-mail.

4. Ele envia para o e-mail cadastrado no formulário.

----------------------------------

1. As informações inseridas na variável acima são mostradas sem problema de caracteres nem nada. Ela é exibida na tela normalmente.

2. As informações são inseridas no banco, porém aí com problemas na acentuação.

3. No e-mail, as informações são enviada corretamente e sem problemas.

4. Para o e-mail da pessoa também, sem problemas.

O que faço?Sim, já usei a busca...Nada resolveu!!

Link para o comentário
Compartilhar em outros sites

  • 0

Posso dar mais um bom exemplo...

Eu entro no PhpMyAdmin, acesso minha tabela e faço uma alteração.

Por exemplo:

Campo Problema:

Ele está com os caracteres estranhos e tal...Eu entro, edito manualmente o que está escrito no campo, através daquele lápis que fica ao lado do nome do campo e altero.

usuáro

para Usuário e ele fica certo.

Se fosse um problema de collation do banco, ele nem deixava correto não é?

Cada vez mais complicado isso =\

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...