HTML编码:东欧语言

时间:2009-05-09 20:35:35

标签: html character-encoding

我的程序从数据库中获取消息,该数据库包含英语,德语和几种东欧语言。我的Python脚本通过以下方式设置编码:

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

并使用从数据库中正确获取的值(如果我在我的日志中检查)。

不幸的是,我测试的所有浏览器(IE8,Firefox 3.0.10,Opera 9.64)都根据我的本地语言设置切换到:

  • Firefox中的西方ISO-8859-1
  • IE中的西欧(Windows)
  • Opera中的自动

只要我在浏览器中手动切换字符编码,一切正常。

如果我使用UTF-8手动生成HTML文件(使用TextMate各自的jEdit测试),同样的情况也会发生,尽管两个编辑都正确显示内容。

这对英语和德语都有效,但不适用于俄语。如何强制“正确”的字符编码?

ANSWER

VirtualHost(Apache配置)部分中的以下条目为我做了诀窍:

AddDefaultCharset utf-8

非常感谢我指出了正确的方向,这对我有很大的帮助!

1 个答案:

答案 0 :(得分:3)

当文档通过HTTP传输时,the HTTP header information are the crutial information

  在确定文档的字符编码时(从最高优先级到最低优先级),符合条件的用户代理必须遵守以下优先级:

     
      
  1. charset”字段中的HTTP“Content-Type”参数。
  2.   
  3. META声明,其中“http-equiv”设置为“Content-Type”,值设置为“charset”。
  4.   
  5. 在指定外部资源的元素上设置charset属性。
  6.   

因此,请确保在Content-Type header field中声明字符编码,而不仅仅是在文档中。