apache 编码设置解决

在windows操做系统上使用IE做为浏览器时。经常会发生这样的问题:在浏览使用UTF-8编码的网页时,浏览器没法自动侦测(即没有设定“自动选择”编码格式时)该页面所用的编码。即便网页已经声明过编码格式:

php

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
,由此形成某些含有中文UTF-8编码的页面产生空白输出。html

若是使用的是Mozilla、Mozilla Firefox、Sarafi的浏览器这不会形成这个问题。这是因为IE解析网页编码时以HTML内的标签优先,然后才是HTTP header内的讯息;而mozilla系列的浏览器则刚刚相反。windows

因为UTF-8为3个字节表示一个汉字,而普通的GB2312或BIG5是两个。页面输出时,因为上述缘由,使浏览器解析、输出<title></title>的内容时,若是在</title>前有奇数个全角字符时,IE把UTF-8看成两个字节解析时出现半个汉字的状况,这时该半个汉字会和</title>的<结合成一个乱码字,致使IE没法读完<title>部分,使整个页面为空百输出。而这个时候若是察看源文件的话,会发现实际上整个叶面所有已经输出了。浏览器

所以最简单的解决办法是再网页文件的<head></head>标签中必定要把字符定义<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
放在<title></title>以前。服务器

ps:涉及到编码问题的方式网站

1. 服务器httpd.conf文件:AddDefaultCharset UTF-8
这种方法不推荐,由于服务器上极可能有其余编码的网站存在,因此可使用AddDefaultCharset off来关闭默认文件编码,服务器依靠html文件投中设置的语言来决定编码。ui

2. 脚本php.ini文件:default_charset = "UTF-8" 
做用同httpd.conf文件,也不推荐,能够把该行注释掉,缘由同上编码

3. .htaccess文档:AddDefaultCharset UTF-8
通常人都没法修改httpd.cnf和php.ini,同时也不推荐修改这两个文件。这时也能够在网站根目录下写入.htaccess文档,在该文档中设定网站字符集操作系统

网页文件字符集:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />htm

 

-----------------------------------------------------------------------------

 

 

 

相关文章
相关标签/搜索