为什么 php 文件编码会影响响应数据编码



我用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和许多其他语言。

最新更新