2017-02-09 101 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和許多其他語言的免費開源軟件。