Como eu digo sempre, a internet popularizou a informação. E para tal, é necessário que o conteúdo seja bem visualizado independente do idioma.
Quando você acessa um site, seu navegador interpreta o código HTML e exibe uma interface gráfica deste código, uma que pessoas comuns consigam ler e entender perfeitamente, claro, se você programou tudo certinho e não há erros no seu código, as pessoas irão entender.
Para as palavras, o navegador usa uma codificação de caracteres definida explicitamente na página, caso essa definição não tenha sido declarada, a codificação padrão do idioma do navegador do usuário será a que o navegador irá buscar. Nos navegadores em português a codificação padrão é ISO-8859-1. Para idiomas com caracteres especiais como vogais acentuadas, cedilha, etc., ou seja, caracteres da tabela ASC II, o padrão ISO-8859-1 é o mais indicado.
Mas porque é tão importante usar o padrão correto para exibição de caracteres?
Caso você não utilize o padrão correto, seu texto pode não ser exibido corretamente, a informação que você gostaria de passar irá se perder, por exemplo, o valor decimal 232 no conjunto de códigos ISO-8859-1 (também conhecido como Latin1) o valor representa a letra "è". Mas se ao invés disso você usar ISO-8859-5 (note que apenas o último número foi alterado) o valor representado é o "Ш".
Em HTML5, o valor considerado padrão é a codificação de caracteres UTF-8, que pode representar qualquer caractere do Unicode e que também é compatível com o ASC II. Esse é o padrão adotado em sistemas de e-mails, páginas web e onde mais existirem caracteres armazenados e/ou exibidos.
O padrão Unicode é uma espécie de tabela que suporta cerca de um milhão de caracteres. É uma tabela padrão com o maior número de caracteres possível. Isso evita que cada país tenha uma tabela. Atualmente, a maioria dos navegadores têm suporte à esse padrão, usando-o você garante que seu site seja bem visualizado em qualquer lugar do mundo.
Sintaxe básica de documento HTML5:
<html lang= "pt-br">
<meta charset="UTF-8">>
<title>Estrutura básica de uma página HTML5</title>
<p>Parágrafo aqui...</p>>
Além de definir a tabela de codificação de caracteres que o navegador deve usar para renderizar (processar e exibir) a página, por meio do atributo "charset" do elemento, também é importante fazer uso do atributo "lang" no elementopara que os navegadores saibam qual é o idioma principal utilizado na página.
Espero que isso esclareça as dúvidas do por que declarar a tabela de codificação de caracteres no cabeçalho das páginas HTML. Se você ainda tem dúvidas ou enfrenta problemas com codificação de caracteres em seu site, entre em contato conosco, tenho certeza que um de nossos programadores terá o maior prazer em ajudá-lo.