UTF-8与UTF-8(BOM)区别
通常把文件保存为不带BOM的UTF-8
文件
1.BOM——Byte Order Mark,就是字节序标记
2.BOM即byte order mark,具体含义可百度百科或维基百科,UTF-8文件中放置BOM主要是微软的习惯,但是放在别的系统上会出现问题。不含BOM的UTF-8才是标准形式,UTF-8不需要BOM带BOM的UTF-8文件的开头会有U+FEFF,所以我新建的空文件会有3字节的大小。
3.
对php的影响
PHP在设计时就没有考虑BOM的问题,也就是说他不会忽略UTF-8编码的文件开头BOM的那三个字符。
受COOKIE送出机制的限制,在这些文件开头已经有BOM的文件中,COOKIE无法送出(因为在COOKIE送出前PHP已经送出了文件头),也就是说,凡是不能够在执行之前进行输出的代码都将无效
解决方法
通常把文件保存为不带BOM的UTF-8文件
2、不能使用记事本编辑代码 ,否则可能会出现莫名的错误,需要使用PHP专用的编辑器修改;
3、再确认你的文件编码是不是 utf-8 无BOM格式(用记事本编辑保存的时候莫名其妙编码变为其他的),不是的话用编辑器改为utf-8 无bom
undefined
undefined