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

Problemas De Acentuação


Scarlett

Pergunta

:(

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á.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 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.

Link para o comentário
Compartilhar em outros 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.

Link para o comentário
Compartilhar em outros 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:

Link para o comentário
Compartilhar em outros 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));
    }
?>

Editado por Lvcifer!
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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...