Você deve ter percebido que até agora todas nossa paginas Html não continham acentuação ou caracteres especiais, e se você trocou os caracteres dos exemplos para caracteres acentuados quando usou alguns de nosso exemplos anteriores, você conseguiu uma interpretação estranha do Browser, que lhe retornou alguns caracteres ilógicos ao invés do acentos no qual estamos acostumados.
Isto é porque no Linux geralmente se usa um padrão de caracteres universal chamado UTF-8, paginas web foram projetadas para serem usadas em um Browser no qual roda em vários servidores de países diferentes contendo línguas e caracteres diferentes, cada sistema operacional local possui uma codificação especial para traduzir estes caracteres para a língua local. Por exemplo em Windows alguns destes exemplos podem ser acentuados normalmente pois o Codepage usado pelo Windows pt-br é 1252 que contem todos os nossos caracteres e não está na codificação UTF-8.
Para garantir que sua pagina seja vista igualmente em todo o mundo precisamos usar uma tabela de conversão de caracteres Html chamada Entities ou podemos usar a tabela ASCII.
UTF-8
UTF-8 (8-bit Unicode Transformation Format) é um tipo de codificação Unicode de comprimento variável criado por Ken Thompson e Rob Pike. Pode representar qualquer carácter universal padrão do Unicode, sendo também compatível com o ASCII. Por esta razão, está lentamente a ser adoptado como tipo de codificação padrão para email, páginas web, e outros locais onde os caracteres são armazenados.
Caso não queira utilizar os caracteres ASCII ou Entities abaixo, você simplesmente pode definir seu documento com UTF-8 declarando a tag abaixo dentro de sua tag <head>:
<meta charset="utf-8" />
ASCII
ASCII (acrônimo para American Standard Code for Information Interchange, que em português significa “Código Padrão Americano para o Intercâmbio de Informação”, mas comumente utilizamos a sigla em inglês para referencia direta) é uma codificação de caracteres de sete bits baseada no alfabeto inglês. Cada sequencia de códigos na tabela ASCII corresponde a um caractere, comumente representados pelos 8 bits (equivalente a um byte), sendo que o oitavo bit (da direita para a esquerda) serve como um bit de paridade, utilizado para detecção de erro. Os códigos ASCII representam texto em computadores, equipamentos de comunicação, entre outros dispositivos que trabalham com texto. Desenvolvida a partir de 1960, grande parte das codificações de caracteres modernas a herdaram como base.
Tabelas de Caracteres
Você pode acessar as tabelas Entities ou ASCII para converter o seu texto nas paginas html com codificação universal:
Entities : http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
ASCII: http://en.wikipedia.org/wiki/ASCII
USP – Entities e ASCII: http://www.ime.usp.br/~glauber/html/acentos.htm
Exemplo:
Neste exemplo criamos uma pagina html em codificação UTF-8 padrão e usamos Entites e ASCII para traduzir os caracteres acentuados para o português Brasil.
Html / JavaScript
<!DOCTYPE html> <html> <head> <title>Desenvolvimento Aberto</title> </head> <body> <h2>Desenvolvimento Aberto - Acentos - HTML </h2> <br> <h3>JavaScript</h3> <br> <pre> <script> document.writeln("Html - texto com entrada direta"); document.writeln("Este texto é incorreto pois não mostra acentuação\n"); document.writeln("Html - texto usando Entities"); document.writeln("Este texto é incorreto pois não mostra acentuação\n"); document.writeln("Html - texto usando ASCII"); document.writeln("Este texto é incorreto pois não mostra acentuação\n"); </script> </pre> </body> </html>