VPS新安装Apache上网站乱码的解决

开学季事情多,在电脑旁的时间不太多,没怎么更新~

今天wg提起我的一个论坛有乱码,我想起来是重装Apache以后默认的配置文件httpd.conf的问题。默认设置里有一行:

AddDefaultCharset utf-8

它是作用是让你的网站告诉浏览器强制使用utf-8编码显示文章。而我的论坛由于历史原因(>.<)是采用gbk编码的,浏览器自然就把收到的网页解释成乱码了…只要把找到这行删掉或注释掉就可以了,所谓注释掉就是在前面加个#号。为什么这样就可以了呢?

技术细节

浏览器首先检查收到的HTTP头Content-Type行,如果这行指定了页面编码,则采用此编码。如果使用了“AddDefaultCharset  xxxxx”,那么浏览器收到的就是:

Content-Type: text/html; charset=xxxxx

否则是:

Content-Type: text/html

对于后者,即没有在HTTP头中指定页面编码的,浏览器会查找HTML源代码中的这样一行,使用其指定的页面编码:

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

如果再找不到,浏览器会尝试自动猜测页面的编码,或根据浏览器语言和编码设置中使用一种默认编码来解释。


Tags: , , , ,

 
 
 

7 Responses to “VPS新安装Apache上网站乱码的解决”

  1. Gravatar of crusher crusher
    17. September 2010 at 14:59

    看的我头大,看不懂

  2. Gravatar of an9 an9
    21. September 2010 at 08:19

    呵呵,我就遇到过。

  3. Gravatar of pluto pluto
    21. September 2010 at 16:35

    经常来嘴巴的地盘看看,怀旧一下上学的时候跟你学编程的时光。。。

  4. Gravatar of 饭小烦 饭小烦
    6. October 2010 at 16:43

    Error 404. Document not found.

  5. Gravatar of Zwar Zwar
    8. October 2010 at 12:36

    蛋疼啊蛋疼

  6. Gravatar of 火柴 火柴
    14. March 2011 at 15:26

    很久没更新了,跟我的一样~

  7. Gravatar of 微代码-鸿枫业 微代码-鸿枫业
    21. November 2011 at 15:24

    亲,我又来看你的新博了~~

Leave a Reply