在linux下PHP的echo返回字符串的異常狀況

在將項目webserver從windows移植到linux下時發現了一個異常狀況。linux

項目狀況爲服務端使用PHP+nginx搭建的webserver,客戶端使用C++,通訊使用json字符串,具體流程爲服務端將通訊的數據對象轉換爲json字符串返回給客戶端,在客戶端經過解析該字符串初始化對應的C++對象。nginx

異常狀況爲將服務端移植到linux環境下,客戶端收到的服務器返回的json字符串在開頭的6個字節爲亂碼,截圖以下:web

圖中 大括號以後的字符串爲傳輸的數據,而以前的3箇中文字符爲無效數據。在移植過程當中服務端的代碼沒有進行任何的改動,PHP的版本也和windows下的一致,但就是返回的字符串開頭會固定6個字節的無效字符,暫時還未找到緣由,目前的解決方案爲在客戶端中加了對開頭無效字符的過濾。json


敬請遇到過該問題的大神指教其中緣由,不勝感激。windows

補充個服務端返回json字符串的PHP文件截圖:服務器

其中seneMsg函數即爲返回json字符串給客戶端,echo 後的內容即爲客戶端收到的內容,服務端的代碼文件格式都爲函數

UTF-8 無BOM編碼。編碼

相關文章
相關標籤/搜索