Resolva todos seus problemas de acentuação migrando para o conjunto de caracteres mais utilizado da web.
Outra vantagem é poder fazer um site que armazene textos em japonês, português, etc.
Esqueça ISO-8859-1 e sua turma!
Há um tempo atrás precisei fazer um site que armazenava e recuperava dados em japonês e português, tudo na mesma base de dados. A solução para isso foi utilizar a codificação UTF-8, esquecendo o famoso ISO-8859-1 (Latin).
Utilizando UTF-8 corretamente você se livrará de todos os problemas de acentuação que poderão ser causados em sua página e se livrar de vez de funções como utf8_encode() e derivadas.
Apesar de consumir alguns bytes a mais em seu armazenamento, você terá a vantagem de trabalhar com qualquer tipo de idioma, o conjunto de caracteres UTF-8 é bem amplo e poderoso.
O segredo está em deixar TUDO na codificação UTF-8.
- Arquivos .php devem ser salvos por sua IDE nesta codificação. (Qualquer editor possui esta opção, como por exemplo o Zend Studio ou Eclipse)
- Meta tag dos cabeçalhos HTML
- Cabeçalhos em seus arquivos PHP
header(”Content-Type: text/html; charset=UTF-8″, true);
- Banco de dados, tabelas e colunas com collation utf8_general_ci (você pode definir apenas no banco de dados e deixar que as tabelas e colunas assumam o collation definido no banco)
- Sempre iniciar uma conexão com o banco de dados alterando a codificação default do conector. Logo após iniciar a conexão com o banco de dados (por ex: mysql_connect) e antes de efetuar qualquer operação deve-se utilizar a seguinte instrução SQL uma única vez:
SET NAMES 'UTF8'
outra opção se você utiliza a biblioteca mysql é utilizar funções nativas como: mysql_set_charset(”utf8″, $conexao);
Se você já possui tabelas criadas e com registros armazenados, você deve ainda converter seus registros para a nova codificação, ou apagar todos os dados e inserir-los novamente.
Outra vantagem é poder fazer um site que armazene textos em japonês, português, etc.
Esqueça ISO-8859-1 e sua turma!
Há um tempo atrás precisei fazer um site que armazenava e recuperava dados em japonês e português, tudo na mesma base de dados. A solução para isso foi utilizar a codificação UTF-8, esquecendo o famoso ISO-8859-1 (Latin).
Utilizando UTF-8 corretamente você se livrará de todos os problemas de acentuação que poderão ser causados em sua página e se livrar de vez de funções como utf8_encode() e derivadas.
Apesar de consumir alguns bytes a mais em seu armazenamento, você terá a vantagem de trabalhar com qualquer tipo de idioma, o conjunto de caracteres UTF-8 é bem amplo e poderoso.
O segredo está em deixar TUDO na codificação UTF-8.
- Arquivos .php devem ser salvos por sua IDE nesta codificação. (Qualquer editor possui esta opção, como por exemplo o Zend Studio ou Eclipse)
- Meta tag dos cabeçalhos HTML
- Cabeçalhos em seus arquivos PHP
header(”Content-Type: text/html; charset=UTF-8″, true);
- Banco de dados, tabelas e colunas com collation utf8_general_ci (você pode definir apenas no banco de dados e deixar que as tabelas e colunas assumam o collation definido no banco)
- Sempre iniciar uma conexão com o banco de dados alterando a codificação default do conector. Logo após iniciar a conexão com o banco de dados (por ex: mysql_connect) e antes de efetuar qualquer operação deve-se utilizar a seguinte instrução SQL uma única vez:
SET NAMES 'UTF8'
outra opção se você utiliza a biblioteca mysql é utilizar funções nativas como: mysql_set_charset(”utf8″, $conexao);
Se você já possui tabelas criadas e com registros armazenados, você deve ainda converter seus registros para a nova codificação, ou apagar todos os dados e inserir-los novamente.
Fonte: php-obj
Nenhum comentário:
Postar um comentário