今天加载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); }
原文地址:http://blog.csdn.net/nateyang/article/details/42426371