Estou hospedando uma página da Web em um servidor Apache no computador CentOS 8, que contém caracteres em inglês e coreano. Os caracteres são renderizados corretamente no Chrome e no Edge, mas não no Internet Explorer. Isto é o que parece:
e assim deve ficar:
AddDefaultCharset UTF-8
é comentado como mostrado abaixo:
#
# Specify a default charset for all content served; this enables
# interpretation of all content as UTF-8 by default. To use the
# default browser choice (ISO-8859-1), or to allow the META tags
# in HTML content to override this choice, comment out this
# directive:
#
#AddDefaultCharset UTF-8
O arquivo html é definido da seguinte forma:
<html>
<head>
<link href="../../meta/style.css" rel="stylesheet" type="text/css" charset="UTF-8">
</head>
<body>
Então, por que os caracteres coreanos não são renderizados corretamente no Internet Explorer?
Adicionar <meta ...> conforme explicado na resposta resolveu este problema:
<html>
<head>
<link href="../meta/style.css" rel="stylesheet" type="text/css" charset="UTF-8">
<meta charset="EUC-KR">
</head>
<body>
Como mostram as informações postadas, você não definiu o conjunto de caracteres em nenhum lugar - nem nos cabeçalhos HTTP (via Apache) nem no próprio arquivo HTML. (O arquivo HTML especifica apenas um conjunto de caracteres para a folha de estilo CSS vinculada – mas não para o próprio HTML!)
Como resultado, os navegadores da Web são forçados a adivinhar qual conjunto de caracteres é mais provável de ser usado (com base na análise estatística), e diferentes navegadores usam algoritmos diferentes - geralmente com base na localidade do sistema operacional e/ou no domínio do site. Portanto, se você estiver usando o Windows em inglês, os navegadores tentarão adivinhar as codificações em inglês ou europeu primeiro.
Para evitar isso, você precisará adicionar uma declaração de conjunto de caracteres dentro
<head>
de . Sua imagem de exemplo parece ser originalmente EUC-KR (mas foi detectada erroneamente como Windows-1252), então adicione uma tag como esta:Outra codificação muito comum para páginas da Web internacionais é
UTF-8
.Observe que os navegadores podem exigir que a declaração do conjunto de caracteres esteja dentro do primeiro 1 kB do arquivo, portanto, é sempre melhor colocá-lo o mais próximo possível do início de <head>.
Para compatibilidade com navegadores muito antigos, existe também a versão longa: