我用PHP使简单的Web服务器响应JSON字符串。
它一直运行良好,直到我用记事本++更改了一些php文件。
从我用记事本++更改一些php文件的那一刻起,我的移动客户端就犯了错误
公司名称.项目名称.V1.客户端.Api异常:意外字符 解析值时遇到:。路径",第 0 行,位置 0。
我解决了这个问题,在 php 文件的第一个删除了"UTF-8 BOM(二进制顺序掩码("。
但是,据我所知,PHP是脚本语言。为什么 PHP 文件编码会影响响应数据编码?在Python中,与PHP相同的脚本语言,文件编码没有问题。
因为我对PHP了解不多,所以我想知道为什么会这样。
PHP 希望脚本符合 Unicode 标准。根据 Unicode 标准,不建议使用 UTF-8 文件的 BOM:
2.6 编码方案
对于 UTF-8,既不需要也不建议使用 BOM,但可能是 在从其他数据转换 UTF-8 数据的情况下遇到 使用 BOM 表或将 BOM 用作 UTF-8 的编码表单 签名。请参阅第 16.8 节中的"字节顺序标记"小节, 特价,了解更多信息。
帽子提示:没有 BOM 的 UTF-8 和 UTF-8 有什么不同?
您可能需要考虑使用正确处理PHP的编辑软件。我喜欢Atom(https://atom.io/(,这是一款免费的开源软件,支持PHP和许多其他语言。