读取json,文件65279开头无法识别

今天加载json文件的时候一直加载不成功,只有ASCII编码格式的可以加载,因为是中文,所以不能用ASCII格式,后来我同事发现json的第一个字符的编码是65279,后来百度了一下,是因为我用文本编辑了这个json文件,使其带有bom头。

网上的解决方法是使用editplus或ultraedit等软件来操作来另存为UTF-8就行了,如下:

1、使用editplus去除BOM头 
 
编辑器调整为UTF8编码格式后,保存的文件前面会多出一串隐藏的字符(也即是BOM),用于编辑器识别这个文件是否是以UTF8编码。 
运行Editplus,点击工具,选择首选项,选中文件,UTF-8标识选择总是删除签名,然后对PHP文件编辑和保存后的PHP文件就是不带BOM的了。


2、使用ultraedit去除BOM头

打开文件后,“另存为”选项的编码格式里选择(UTF-8 无BOM头),确定就OK了


然而我同事的方法是在读取json的时候判断第一个编码是否是65279,然后删掉这个字符编码 

if( (int)(json[0]) == 65279)
{
     json = json.Substring(1);
}


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。