Para definir o charset para HTML5 Doctype, qual notação devo usar?
Curto:
<meta charset="utf-8" />
Longo:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Em HTML5, eles são equivalentes. Use o mais curto, é mais fácil de lembrar e digitar. O suporte ao navegador é bom, uma vez que foi projetado para compatibilidade com versões anteriores.
Ambas as formas da declaração meta charset são equivalentes e devem funcionar da mesma maneira em todos os navegadores. Mas, há algumas coisas que você precisa lembrar ao declarar seus arquivos web como UTF-8:
Os servidores Apache são configurados para servir arquivos em ISO-8859-1 por padrão, então você precisa adicionar a seguinte linha ao seu arquivo `.htaccess':
AddDefaultCharset UTF-8
Isto irá configurar o Apache para servir os seus ficheiros declarando codificação UTF-8 no cabeçalho de resposta Content-Type, mas os seus ficheiros must devem ser guardados em UTF-8 (sem BOM) para começar.
O Bloco de Notas não pode salvar seus arquivos em UTF-8 sem a lista técnica. Um editor livre que pode ser Bloco de notas++. Na barra de menu do programa, seleccione "Encoding > Encode in UTF-8 without BOM" (Codificação > Codificação em UTF-8 sem BOM). Você também pode abrir arquivos e salvá-los novamente em UTF-8 usando "Encoding > Convert to UTF-8 without BOM".
Mais sobre a Byte Order Mark (BOM) na Wikipedia.
Outra razão para escolher o curto é que ele combina com outras instâncias onde você pode especificar um conjunto de caracteres na marcação. Por exemplo:
<script type="javascript" charset="UTF-8" src="/script.js"></script>
<p><a charset="UTF-8" href="http://example.com/">Example Site</a></p>
A coerência ajuda a reduzir erros e a tornar o código mais legível.
Note que o atributo charset é insensível a maiúsculas e minúsculas. Você pode usar UTF-8 ou utf-8, porém UTF-8 é mais claro, mais legível, mais preciso.
Além disso, não há absolutamente nenhum motivo para usar nenhum valor além de UTF-8 no atributo meta charset ou cabeçalho de página. UTF-8 é a codificação padrão para documentos Web desde o HTML4 em 1999 e a única forma prática de fazer páginas Web modernas.
Você também não deve usar entidades HTML em UTF-8. Caracteres como o símbolo do copyright devem ser digitados diretamente. As únicas entidades que você deve usar são para os 5 caracteres de marcação reservados: menos que, maior que, ampersand, prime, double prime. As entidades precisam de um analisador de HTML, que você nem sempre quer usar no futuro, elas introduzem erros, tornam seu código menos legível, aumentam o tamanho de seus arquivos e às vezes decodificam incorretamente em vários navegadores, dependendo de quais entidades você usou. Aprenda como digitar/inserir copyright, marca registrada, abrir aspas, fechar aspas, apóstrofe, em dash, en dash, bullet, Euro, e quaisquer outros caracteres que você encontre em seu conteúdo, e use esses caracteres reais em seu código. O Mac tem um Visualizador de caracteres que você pode ativar no Keyboard System Preference, e você pode encontrar e depois arrastar e soltar os caracteres que você precisa, ou usar o Visualizador de Teclado correspondente para ver quais teclas digitar. Por exemplo, a marca registrada é Option+2. UTF-8 contém todos os caracteres e símbolos de todas as línguas humanas escritas. Portanto, não há desculpa para usar -- em vez de um traço em. Não é uma má idéia aprender as regras de pontuação e tipografia também ... por exemplo, saber que um período vai dentro de uma citação próxima, não fora.
Usando uma <meta> tag para algo como tipo de conteúdo e codificação é altamente irónico, pois sem saber essas coisas, não se podia analisar o ficheiro para obter o valor da meta tag.
Não, isso não é verdade. O navegador inicia a análise do arquivo como codificação padrão do navegador, seja UTF-8 ou ISO-8859-1. Uma vez que US-ASCII é um subconjunto de ambos ISO-8859-1 e UTF-8, o navegador pode ler
apenas fino de qualquer maneira ... é a mesma coisa. Quando o browser encontra a meta charset tag, se a codificação é diferente do que o browser já está usando, o browser recarrega a página na codificação especificada. É por isso que nós colocamos a meta charset tag no topo, logo após a tag da cabeça, antes de qualquer outra coisa, até mesmo o título. Dessa forma você pode usar caracteres UTF-8 no seu título.Você deve salvar seu(s) arquivo(s) na codificação UTF-8 sem BOM
Isso não é estritamente verdade. Se você só tem caracteres US-ASCII em seu documento, você pode Salvá-lo como US-ASCII e servi-lo como UTF-8, porque é um subconjunto. Mas se houver caracteres Unicode, você está correto, você deve Salvar como UTF-8 sem lista técnica.
Se você quer um bom editor de texto que salve seus arquivos em UTF-8, recomendo o Bloco de Notas++.
No Mac, use o TextWrangler da Bare Bones (gratuito) da Mac App Store, ou o BBEdit da Bare Bones que está na Mac App Store por $39,99 ... muito barato para uma ferramenta tão boa. Em qualquer um dos aplicativos, há um menu na parte inferior da janela do documento onde você especifica a codificação do documento e você pode facilmente escolher "UTF-8 no BOM". E, claro, você pode definir isso como padrão para novos documentos em Preferências.
Mas se o seu Webserver serve a codificação no cabeçalho HTTP, o que é recomendado, ambas [meta tags] são desnecessárias.
Isso é incorrecto. Claro que você deve definir a codificação no cabeçalho HTTP, mas você também deve defini-la no atributo meta charset para que a página possa ser salva pelo usuário, fora do navegador para o armazenamento local e depois aberta novamente mais tarde, neste caso a única indicação da codificação que estará presente é o atributo meta charset. Você também deve definir uma tag base pelo mesmo motivo ... no servidor, a tag base é desnecessária, mas quando aberta a partir do armazenamento local, a tag base permite que a página funcione como se estivesse no servidor, com todos os ativos no lugar e assim por diante, sem links quebrados.
AddDefaultCharset UTF-8
Ou você pode simplesmente alterar a codificação de determinados tipos de arquivo dessa forma:
AddType text/html;charset=utf-8 html
Uma dica para servir os arquivos UTF-8 e Latin-1 (ISO-8859-1) é dar aos arquivos UTF-8 uma extensão "texto" e aos arquivos Latin-1 "txt".
AddType text/plain;charset=iso-8859-1 txt
AddType text/plain;charset=utf-8 text
Finalmente, considere Salvar seus documentos com terminações de linha Unix, não DOS legados ou terminações de linha (clássica) Mac, que não ajudam e podem doer, especialmente no fundo da linha à medida que nos afastamos cada vez mais desses sistemas legados. Um documento HTML com HTML5, codificação UTF-8 e finais de linha Unix válidos é um trabalho bem feito. Você pode compartilhar, editar, armazenar, ler, recuperar e confiar nesse documento em muitos contextos. É uma lingua franca. É o papel digital.