到底 utf8 还是 utf8 BOM

技术分享 2022-02-07 17:06:02

今天又遇到服务器输出的json  客户端parse错误的问题。


不含 BOM 的 UTF-8 才是标准形式,在 UTF-8 文件中放置 BOM 主要是微软的习惯。


有bom格式在开头会多出3个字节 EF BB BF ,主要用于识别编码。bom应该是windows特有的,在制作网页时会产生各种意想不到的问题,例如多输出了一个空行,影响PHP的session或者cookies功能(出现 header already sent错误),甚至可能引起页面的乱码(那3个字节影响了浏览器对页面编码的处理),因此总是推荐使用无bom编码。


所以全部编码最好全部统一成   不含 BOM 的 UTF-8  尤其是服务端   个别不支持 标准 utf8的客户端,特殊处理一下,以求最小代价


vscode 开启设置:Auto Guess Encoding  

nodepad++ 把utf8 bom 重新编码位 UTF-8(无bom)

咨询小瓶科技
咨询我们
顶部