今天又遇到服务器输出的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)