不同需求
因为服务器上有很多虚拟主机,而有些虚拟主机需要UTF-8编码支持,一些需要GB2312编码支持。
运行环境
ubuntu7.04
Apache-2.2.3
碰到问题
在apache2的全局设置里,设置了默认字符集为UTF-8,而一些需要GB2312支持的网站,在访问的时候,就出些乱码。
AddDefaultCharset UTF-8
解决办法
修改全局默认字符集为GB2312
AddDefaultCharset GB2312
修改需要支持UTF-8的虚拟主机配置,指定默认字符集
<VirtualHost *>
ServerAdmin web@domain.com
ServerName test.domain.com
DocumentRoot /home/domain.com/web
AddDefaultCharset UTF-8
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/domain.com/web>
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
解决结果
默认支持GB2312字符集的虚拟主机HTTP头信息
Date: Fri, 11 May 2007 01:12:24 GMT
Server: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch1
Accept-Ranges: bytes
Cache-Control: max-age=300
Expires: Fri, 11 May 2007 01:17:24 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 30466
Content-Type: text/html; charset=GB2312
200 OK
设置支持UTF-8字符集的虚拟主机HTTP头信息
Date: Fri, 11 May 2007 01:13:07 GMT
Server: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch1
X-Powered-By: PHP/5.2.0-8+etch1
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 4447
Keep-Alive: timeout=15, max=463
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
200 OK