2017-02-09 68 views
1

我使用PHP响应JSON字符串的简单Web服务器。为什么PHP文件编码影响响应数据编码?

它运行良好,直到我用记事本+ +改变了一些PHP文件。

的那一刻起,我改变了一些PHP文件,用记事本+ +,我的手机客户端所做的错误

CompanyName.ProjectName.V1.Client.ApiException:分析值中遇到意外字符 。路径”,行0,位置0.`。

我解决了这个问题,删除 'UTF-8 BOM(二进制顺序面膜)' 在第一次的PHP文件。

但是,据我知道PHP是脚本语言为什么PHP文件编码影响响应数据编码?在Python中,像PHP一样的脚本语言,文件编码没有问题。

因为我不太了解PHP,所以我想知道为什么

回答

0

PHP期望脚本符合Unicode标准。不建议盘带Unicode标准,为UTF-8文件的BOM:

2.6编码方案

一个BOM的使用既不需要也不推荐使用UTF-8,但可能在遇到 其中UTF-8数据从其他 编码形式转换为使用BOM或将BOM用作UTF-8 签名的上下文。有关更多信息,请参见第16.8节“特价”中的“字节顺序标记”小节。

帽尖:What's different between UTF-8 and UTF-8 without BOM?

你可能要考虑使用编辑软件,用PHP正确处理。我喜欢Atom(https://atom.io/),这是一款支持PHP和许多其他语言的免费开源软件。