Desenvolvimento Desenvolvimento Web PHP

Como configurar o charset de uma aplicação PHP

black farmed eyeglasses in front of laptop computer
Photo by Kevin Ku on Pexels.com

O post Como configurar o charset de uma aplicação PHP ensina como configurar o padrão de caracteres para sites que utilizam a linguagem PHP e para 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çãoCaractere
65A
66B
67C
68D
69E
70F

Qual é a importância do charset?

O charset de um documento indica ao browser 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, o charset declarado e o charset utilizado para salvar o documento no seu editor – como 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, e 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

Script PHP

Informar o charset na declaração dos formulários, caso exista.Informar o charset no início do script, junto ao tipo do conteúdo, nesse caso html.

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

Metatag HTML

Informar o charset através da metatag no cabeçalho do código html.

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

Formulário

<form accept-charset="utf-8" ...>

Recomendações para configurar o banco de dados

Verificar se as tabelas e os 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.

Conexão MySQL

mysql_set_charset('utf8');

Conexão PDO

$handle = new PDO("mysql:host=localhost;dbname=dbname",
    'username', 'password',
    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

Conexão ZF2

return array(
    'db' => array(
        'driver'         => 'Pdo',
        'dsn'            => 'mysql:dbname=dbname;host=localhost',
        'driver_options' => array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"),
    ),
);

Informar o charset através da função mysql_set_charset.

1mysql_set_charset('utf8');

Referência(s)

Super dicas

Se inscreva em nosso canal e compartilhe as matérias que gostar com os seus colegas.

Participe dos nossos grupos de estudos do Facebook e Telegram.

Aproveite também e venha fazer parte do nosso clube de vantagens e ter acesso exclusivo a vídeos, tutoriais, cursos e muito mais.

Clique no link para se tornar um membro do dfilitto – clube de vantagens e ter acesso a todos os benefícios do nosso clube.

About the author

Danilo Filitto

Mestre em Ciência da Computação pela Universidade Estadual de Maringá - UEM, Pós-Graduado em Redes de Computadores e Comunicação de Dados pela Universidade do Estado do Paraná - UEL, Bacharel em Ciência da Computação pela Universidade do Oeste Paulista - UNOESTE.

Atuo na área acadêmica como professor desde 2006. Atualmente leciono na UNOESTE (Universidade do Oeste Paulista), no SENAC (Serviço Nacional de Aprendizagem Comercial) e possuo vários cursos na Udemy (https://www.udemy.com/user/danilo-filitto/).

Além disso, sou o CEO dos sites https:www.dfilitto.com.br e https:www.makeindiegames.com.br

Você também pode me encontrar no YouTube por meio do endereço https://www.youtube.com/danilofilittoppr

Add Comment

Click here to post a comment

Inscreva-se para receber em seus e-mais as notícias do nosso site

Quer aprender a programar?