header.php://设定页面utf-8
header.php:header('Content-Type: text/html; charset=utf-8');
header.php:
header.php:
这段话是使用grep从我们网站的代码上抓取下来的,可以看出,上面使用了3种编码方式,一种是使用php函数header,第二种是html的头,第三种是使用meta标签。(需要保证网页源码使用utf-8编码:iconv -f gb18030 -t utf-8 source-code.html > tmp; diff tmp source-code.html)
建立了两个测试文件,内容相同,分别叫index.html和index.php。apache设置不对html文件进行PHP解析。
测试发现,index.php文件中,仅使用header('Content-Type: text/html; charset=utf-8');就可以了;而index.html文件中,由于apache不解析php函数,所以header函数无效,需要使用。
---------------------------------------
BOM: Byte Order Mark
UTF-8 BOM又叫UTF-8 签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支援UTF-16,UTF-32才加上的BOM,BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行,
UTF-8 BOM又叫UTF-8 签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支援UTF-16,UTF-32才加上的BOM,BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行,