server-side inclui e codificação de caracteres

votos
4

Eu criei um site estático em que cada página tem a seguinte estrutura:

  1. coisas comuns, como cabeçalho, menu, etc.
  2. material específico página em div de conteúdo principal
  3. Rodapé

Neste site, todo o conteúdo comum é duplicado em cada página. A fim de melhorar a capacidade de manutenção I reformulado as páginas para usar server-side inclui (SSI) para que o conteúdo comum não é duplicado. A estrutura de cada página é agora

  1. SSI para coisas comuns, como cabeçalho, menu, etc.
  2. material específico página em div de conteúdo principal
  3. SSI para rodapé

No site reformulado, por alguma razão, os personagens franceses não exibir corretamente em específico da página da área de conteúdo, embora eles exibem multa no conteúdo incluído via SSIs.

O cabeçalho incluído especifica o conjunto de caracteres como:

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

Se eu abrir uma das principais páginas de conteúdo em um navegador ele me diz que a codificação de caracteres é ISO-8859-1. Eu tentei adicionar um arquivo .htaccess para a pasta com as linhas

AddDefaultCharset UTF-8
AddCharset UTF-8 .shtml
AddCharset UTF-8 .html

Mas ainda aqueles inconvenientes sotaque francês não são exibidos corretamente na versão do site que usa SSIs.

Publicado 12/02/2009 em 02:39
fonte usuário
Em outras línguas...                            


3 respostas

votos
3

Você está servindo suas páginas como UTF-8, que é bom, mas pelo menos alguma da página está sendo arrastado na partir de arquivos que não são realmente salvos como UTF-8. SSI apenas joga os bytes matérias-in, ele não tenta recodificar o inclui para que seus conjuntos de caracteres coincide com o arquivo que está sendo incluído no.

Você precisa passar por todo o seu html e arquivos de inclusão em um editor de texto e certificar-se de cada um é salvo como UTF-8.

Como John mencionado, você pode evitar a codificação de questões usando referências de caracteres para todos os caracteres não-ASCII, mas é uma dor tremenda.

Respondeu 12/02/2009 em 03:46
fonte usuário

votos
0

Eu tive o mesmo problema que você e finalmente encontrou uma solução que fixa-lo.

UTF8 faz uma linha extra no meu site

Salve todos os seus arquivos como UTF-8 sem BOM ( http://en.wikipedia.org/wiki/Byte_order_mark ).

Respondeu 29/05/2011 em 23:46
fonte usuário

votos
0

O documento HTML está usando codificação UTF-8, experimente estes códigos de caracteres para suas letras acentuadas: http://www.tony-franks.co.uk/UTF-8.htm

Respondeu 12/02/2009 em 02:46
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more