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
原文地址:https://www.cnblogs.com/ygyy/p/12941061.html