Imagine que você está desenvolvendo uma aplicação para internet em seu ambiente local, chegou o dia de colocar o sistema em produção, um servidor compartilhado, hospedagem. Além de verificar se está tudo de acordo com as funcionalidades, uma das preocupações neste cenário é analisar se o charset está devidamente configurado na aplicação e banco de dados.
O que é charset?
Charset, Character Set, é o conjunto de caracteres que são utilizados para criação de documentos, bancos de dados, sites, etc. Cada charset possui uma lista de caracteres disponíveis, sendo estes representados por uma posição de referência.
Confira alguns caracteres disponíveis no charset ASCII.
Posição | Caractere |
---|---|
65 | A |
66 | B |
67 | C |
68 | D |
69 | E |
70 | F |
Qual é a importância do charset?
O charset de um documento, indica ao browser, navegador, qual codificação foi utilizada, possibilitando que o documento seja interpretado, exibindo suas informações corretamente ao usuário. Caso exista algum tipo de incompatibilidade entre o conteúdo, charset declarado e charset utilizado para salvar o documento no seu editor, exemplo Eclipse, isso poderá comprometer sua exibição, gerando possíveis problemas, como erro na codificação do documento ou caracteres incorretos sendo exibidos na aplicação.
Configurando charset de uma aplicação PHP
Existem 127 charsets disponíveis para uso na internet, onde os mais utilizados são ISO-8859-1 e UTF-8, se você está desenvolvendo algum conteúdo, terá que decidir qual codificação irá utilizar. O charset UTF-8 é uma recomendação, pois cobre quase todos os caracteres e símbolos do mundo, confira os passos recomendados para configurar o charset de sua aplicação.
Recomendações para configurar o navegador
Informar o charset no início do script, junto ao tipo do conteúdo, nesse caso HTML.
Informar o charset por meio de metatag no cabeçalho da página HTML.
Informar o charset na declaração do(s) formulário(s).
Recomendações para configurar o banco de dados
Verificar se as tabelas e campos de caracteres estão configurados para utilizar coleção utf8_general_ci, além de informar o charset ao abrir conexão com banco de dados.
Informar o charset através da função mysql_set_charset.
Informar o charset na abertura da conexão.
Informar o charset através da opção driver_options, no global.php.
Conclusão
Espero que vocês economizem um pouco do tempo que passei ao pesquisar esse tema, apesar do artigo ter foco em uma aplicação PHP, os passos são semelhantes em outros cenários.
Referência(s)
- UTF-8, PHP and MySQL. Allen, Rob.
- Character Sets and Encodings. W3.