• 0
Sign in to follow this  
Scarlett

Problemas De Acentuação

Question

:(

Oi gente,

Estou com problemas com acentuação , e mesmo usando o utf8_encode, os acentos aparecem estranhos...

Assim....

print "<br>&clienteId" . $i . "=" . $row["cliente_id"] . "&"

. "<br>&nomeEmpresa" . $i . "= . utf8_encode($row["nome_cliente]) . "&"

. "<br>&contatoId " . $i . "=" . $row["contato_id"] . "&"

. "<br>&nomeContato" . $i . "= . utf8_encode($row["nome_contato]) . "&"

. "<br>&ramo" . $i . "=" . uttf8_encode ($row["ramo_atividade"]) . "&"

E o resultado disso é:

&clienteId2=2&

&nomeEmpresa2=?????& (seria áéíóú)

&contatoId 2=20&

&nomeContato2=Sei lá quem& (seria Sei lá quem)

&ramo2=Alimenta?& (seria alimentação)

&clienteId4=4&

&nomeEmpresa4=Super V?deo& (seria Super Vídeo)

&contatoId 4=&

&nomeContato4=&

&ramo4=M?dia& (seria Mídia)

enfim....

alguém tem idéia do porquê disso? Nou nova nisso e estou sofrendo um pouquinho. Outras opiniões serão de muita, mas muita valia. Obrigada desde já.

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Algumas considerações:

1 - Isso está vindo de um BD, certo? Você já verificou no front-end do BD se os caracteres estão OK lá?

2 - Você está puxando os dados do BD e usando utf8_encode, não seria utf8_decode, pois utf8_enconde passa os caracteres de iso-8859-1 para utf-8, utf8_decode faz exaramente o contrário, e o iso-8859-1 é a codificação correta para português do brasil.

Share this post


Link to post
Share on other sites
  • 0

Oi... então, está vindo de um Bd sim, e lá está tudo normal. Aparece os acentos, etc...

e eu tentei colocar o decode no lugar do encode e aconteceu a mesma coisa.... não mudou nada... :huh:

Eu estou usando o MySql Query browser... será alguma configuração???

Help!!!

Share this post


Link to post
Share on other sites
  • 0

Antes de qualquer coisa, os caracteres são codificados pra UTF-8 antes de irem para o BD? Porque se não forem, você não precisa utilizar o decode.

Caso não seja isso, declare o charset=iso-8859-1 no cabeçalho da página que exibe os dados do BD.

Share this post


Link to post
Share on other sites
  • 0

O My Sql Query Browser cita em algum momento uft8 encode....é só isso que eu sei.

estou pensando em desinstalar e instalar de novo....

Eu tirei tudo (o encode e o decode) e ficou tudo igual.

Vou tentar agora o charset.

você sabe se o problema pode ser o query browser?

Muito obrigada pela paciência.... :rolleyes:

Share this post


Link to post
Share on other sites
  • 0

Bom cara, acho que isso resolverá o seu problema.

Coloque o seguinte código no topo da página que carregará os dados.

<?php header("Content-Type: text/html; charset=ISO-8859-1",true) ?>
Lembrando que esta não é a opção recomendada para resolver o problema. O ideal mesmo é substituir os caracteres especiais por seus devidos códigos. O que costumo fazer para não precisar digitá-los em um campo (afinal, o usuário do site não faz idéia do que seja isso, e não gostaria nem um pouco de digitá-los), eu costumo passar as informações em uma function chamada Dicionario. No meu caso, eu salvo em um arquivo chamado Dicionario.php e o chamo com uma include. Aqui vai o código da minha função:
<?
function Dicionario($TEXTO){
    $TEXTO = implode("&Aacute;", explode("Á", $Valor1temp));
    $TEXTO = implode("&aacute;", explode("á", $Valor1temp));
    $TEXTO = implode("&Acirc;", explode("Â", $Valor1temp));
    $TEXTO = implode("&acirc;", explode("â", $Valor1temp));
    $TEXTO = implode("&Agrave;", explode("À", $Valor1temp));
    $TEXTO = implode("&agrave;", explode("à", $Valor1temp));
    $TEXTO = implode("&Atilde;", explode("Ã", $Valor1temp));
    $TEXTO = implode("&atilde;", explode("ã", $Valor1temp));
    $TEXTO = implode("&Ccedil;", explode("Ç", $Valor1temp));
    $TEXTO = implode("&ccedil", explode("ç", $Valor1temp));
    $TEXTO = implode("&Eacute;", explode("É", $Valor1temp));
    $TEXTO = implode("&eacute;", explode("é", $Valor1temp));
    $TEXTO = implode("&Ecirc;", explode("Ê", $Valor1temp));
    $TEXTO = implode("&ecirc;", explode("ê", $Valor1temp));
    $TEXTO = implode("&Egrave;", explode("È", $Valor1temp));
    $TEXTO = implode("&egrave;", explode("è", $Valor1temp));
    $TEXTO = implode("&Iacute;", explode("Í", $Valor1temp));
    $TEXTO = implode("&iacute", explode("í", $Valor1temp));
    $TEXTO = implode("&Igrave;", explode("Ì", $Valor1temp));
    $TEXTO = implode("&igrave;", explode("ì", $Valor1temp));
    $TEXTO = implode("&Oacute;", explode("Ó", $Valor1temp));
    $TEXTO = implode("&oacute;", explode("ó", $Valor1temp));
    $TEXTO = implode("&Ocirc;", explode("Ô", $Valor1temp));
    $TEXTO = implode("&ocirc;", explode("ô", $Valor1temp));
    $TEXTO = implode("&Ograve;", explode("Ò", $Valor1temp));
    $TEXTO = implode("&ograve;", explode("ò", $Valor1temp));
    $TEXTO = implode("&Otilde;", explode("Õ", $Valor1temp));
    $TEXTO = implode("&otilde;", explode("õ", $Valor1temp));
    $TEXTO = implode("&Uacute;", explode("Ú", $Valor1temp));
    $TEXTO = implode("&uacute;", explode("ú", $Valor1temp));
    $TEXTO = implode("&Ucirc;", explode("Û", $Valor1temp));
    $TEXTO = implode("&ucirc;", explode("û", $Valor1temp));
    $TEXTO = implode("&Ugrave;", explode("Ù", $Valor1temp));
    $TEXTO = implode("&ugrave;", explode("ù", $Valor1temp));
    $TEXTO = implode("&Uuml;", explode("Ü", $Valor1temp));
    $TEXTO = implode("&uuml;", explode("ü", $Valor1temp));
    }
?>

Edited by Lvcifer!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this