重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
這種情況發生在以UTF-8編碼格式傳輸數據的時候,這開頭的三個字節叫做BOM(Byte Order Mark,字節順序標記),小程序接收到php端返回的數據后,把開頭的三個字節去掉即可。
創新互聯建站主營民和網站建設的網絡公司,主營網站建設方案,app開發定制,民和h5微信小程序定制開發搭建,民和網站營銷推廣歡迎民和等地區企業咨詢
更徹底的解決辦法是把php文件保存為?不帶BOM的UTF-8?文件,這樣返回的數據就不帶BOM了
解決php中中文亂碼問題方法
php文件本身的編碼與網頁的編碼應匹配
a. 如果欲使用gb2312編碼,那么php要輸出頭:header(“Content-Type: text/html; charset=gb2312"),靜態頁面添加meta?http-equiv="Content-Type" content="text/html; charset=gb2312",所有文件的編碼格式為ANSI,可用記事本打開,另存為選擇編碼為ANSI,覆蓋源文件。
b. 如果欲使用utf-8編碼,那么php要輸出頭:header(“Content-Type: text/html; charset=utf-8"),靜態頁面添加meta?http-equiv="Content-Type" content="text/html; charset=utf-8",所有文件的編碼格式為utf-8。保存為utf-8可能會有點麻煩,一般utf-8文件開頭會有BOM,如果使用session就會出問題,可用editplus來保存,在editplus中,工具-參數選擇-文件-UTF-8簽名,選擇總是刪除,再保存就可以去掉BOM信息了。
php本身不是Unicode的,所有substr之類的函數得改成mb_substr(需要裝mbstring擴展);或者用iconv轉碼。
如果你的HTML文件文件出現了亂碼問題,那么你可以在head標簽里面加入UTF8編碼(國際化編碼):UTF-8是沒有國家的編碼,也就是獨立于任何一種語言,任何語言都可以使用的。
擴展資料:
解決PHP 輸出簡單的中文 亂碼問題的其他方法:
在php的echo前面加入header("Content-Type:text/html;charset=gb2312")
把meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /中的UTF-8改成gb2312
參考資料:
百度百科-PHP
返回亂碼需要在PHP文件中設置下字符集,在代碼開始前寫上這一句header('Content-type: text/html; charset=utf-8');
如果是數據庫查詢出現亂碼,那么在數據庫連接的時候也要設置字符集,mysqli_set_charset(數據庫連接,'utf8');