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: Apache, HTML, VPS, 乱码, 编码

17. September 2010 at 14:59
看的我头大,看不懂
21. September 2010 at 08:19
呵呵,我就遇到过。
21. September 2010 at 16:35
经常来嘴巴的地盘看看,怀旧一下上学的时候跟你学编程的时光。。。
6. October 2010 at 16:43
Error 404. Document not found.
8. October 2010 at 12:36
蛋疼啊蛋疼
14. March 2011 at 15:26
很久没更新了,跟我的一样~
21. November 2011 at 15:24
亲,我又来看你的新博了~~