Ir para conteúdo

POWERED BY:

Arquivado

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

Fabrízio Krapf

Problema com acentuação

Recommended Posts

Pessoal,

 

estou tendo o seguinte problema: quando coloco caracteres acentuados por get ou post, por exemplo, "íê", e dou um echo, aparece "íê".

 

Inclusive, o meu nome, que é Fabrízio, aparece aqui no fórum como FabrÃzio, por isso desconfio que não tenha nada a ver com o meu script php, mas com alguma configuração, talvez do meu browser.

 

Alguém sabe o que pode ser isso?

 

Já tenho na minha página a meta tag definindo charset=utf-8 e tb no próprio script...tentei funções como utf8_encode e decode, dicas de outros posts aqui no fórum, etc., e nada <o>

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, vlw pela ajuda, mas já havia feito isso...

 

agora deu certo, coloquei ISO-8859-1 ao invés de UTF-8. Daí, li mais a respeito, e entendi: estava utilizando utf-8 nas meta tags e headers, mas o meu arquivo não estava salvo com codificação utf-8, dando problema, pois é a codificação do arquivo que realmente interessa, a do browser é só para 'avisar' qual está sendo utilizada, ou algo do tipo ;P

 

Então, vlw, resolvido!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se você se expressou mal, mas não é certo afirmar dessa forma..

Depende de todo um conjunto:

http://forum.imasters.com.br/topic/340459-php-html-mysql-charset-encoding/

 

velho, talvez tenha me expressado mal mesmo, mas, resumidamente, quis dizer que deve-se utilizar a mesma codificação em tudo (o que eu não estava fazendo)...por exemplo, meu php estava colocando charset utf-8, mas meu arquivo estava em uma das ISO, and so on.

 

Vlw pela ajuda aí!

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tanto faz, são padrões diferentes, sendo o utf-8 'kind of universal' (tem todos os caracteres da maioria das línguas)...o ponto aqui é, escolhendo um, tens que utilizar em tudo: head do html, codificação do arquivo, etc..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapaz, o que eu quero é a sua solução para o seu problema. Isso porque servirá de referência à outros usuários.

 

E lembre-se: não é "tanto faz". Cada charset possui suas particularidades.

Compartilhar este post


Link para o post
Compartilhar em outros sites

que tal tu ler o meu segundo post, onde eu digo como resolvi?

 

E cara, lê novamente o que eu te respondi, falei "tanto faz, são padrões diferentes", não disse que são iguais, disse que tanto faz o que tu escolher, o importante é utilizar ele corretamente (o que eu não estava fazendo ;P).

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se são padrões diferentes, então não é tanto faz. Cada um é utilizado da maneira que o é destinado.

 

Eu li o tópico inteiro, mas ainda não me ficou clara qual a solução. Vou tentar compilar o que abstraí para você me confirmar: você padronizou todo o seu charset para ISO-8859-1, porque, por conflito com o UTF-8, a acentuação não era bem estabelecida. É isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se são padrões diferentes, então não é tanto faz. Cada um é utilizado da maneira que o é destinado.

 

Eu li o tópico inteiro, mas ainda não me ficou clara qual a solução. Vou tentar compilar o que abstraí para você me confirmar: você padronizou todo o seu charset para ISO-8859-1, porque, por conflito com o UTF-8, a acentuação não era bem estabelecida. É isso?

 

tá, nem vou discutir sobre o "tanto faz", é interpretação de texto na veia ;P

 

Isso, passei tudo para ISO-8859-1 (no header e no encoding dos arquivos)...mas se tu fizer o mesmo com UTF-8 (o que, na verdade, fiz depois), dá certo. O que tu não pode é utilizar um no encoding dos arquivos e outro no header...ou seja, tanto faz (sausahsahsau brincadeira ^^) qual tu utilizar, desde que coloque no header e no encoding dos arquivos o mesmo padrão e, claro, como tu destacou, cuide das peculiaridades de cada um.

 

Então, só por exemplo e pra não restarem dúvidas, se quer utilizar o padrão UTF-8, abre os teus arquivos no NotePad ++ (por exemplo), vai em "Encoding" -> "Convert to UTF-8", e manda o mesmo padrão para o header, no html:

 

<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>

 

diretamente pelo php:

<?php
header('Content-type: text/html; charset=utf-8');
?>

 

(recomendo fazer os dois, html+php)

 

Acho que é isso, pelo menos essas foram as minhas conclusões ;]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora sim, Fabrízio. Eu não estava julgando você ou a maneira que você fez. E aliás, eu juro que minha interpretação é boa.

 

De qualquer forma, o que eu quero deixar claro não só para você como para todo/qualquer usuário que venha a ler este tópico, é que apesar de ambos os charsets funcionarem, deve-se tomar cuidado porque eles tem particularidades.

 

Para frizar ainda mais, não é porque funciona que é da melhor maneira, entendeu? Para entender melhor o que eu quero dizer, sugiro esta, esta e esta referência.

 

Que bom que funcionou, mas o ideal seria você utilizar o UTF-8 para evitar qualquer problema com Javascript/AJAX/Json - e lhe adianto, utilizando ISO você terá (problemas). :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma dica, quando você usar o UTF-8 no seu site, no collation do banco de dados, nas tabelas, nos campos de texto e na conexão do MYSQL, você nunca mais terá problemas de acentuação. Look:

 

mysql_set_charset('utf8'); 
mysql_query("SET NAMES 'utf8'");
mysql_query('SET character_set_connection=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_results=utf8');

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.