php變數輸出亂碼的解決方法:1、透過「iconv("GB2312","UTF-8",'中文');」轉換;2、把UTF-8改成gb2312;3 、修改php.ini檔案配置。
本文操作環境:windows7系統、PHP7.1版,DELL G3電腦
用echo輸出的中文顯示成亂碼,
其實應該是各種伺服器腳本都會遇到這個問題,
根本還是編碼問題,
#一般來說出於編碼相容考慮大多的頁面都將頁面字元集定義為utf-8
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
這時候要正常顯示中文需要轉換一下編碼方式,例如
echo iconv("GB2312","UTF-8",'中文' );
就不會亂碼了
還有其他方法,像是
在php的echo前面加入header("Content-Type:text/html;charset=gb2312") ;
當然簡體中文頁面也可以乾脆地,
把
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
中的UTF-8改成gb2312
實際中遇見奇怪的現象,
在本機伺服器上正常顯示的頁面,傳上伺服器就echo出來亂碼,
沒仔細琢磨過這個緣由,因為透過iconv函數GB2312、UTF-8換換位置重新編碼下就正常了,
不過估計肯定是APACHE,更確切地說是PHP服務端的設定不同造成的,
看看PHP. INI應該就能解決。
在每個頁面加入echo iconv("GB2312","UTF-8",'中文');或會比較痛苦。
最後看到可能是php.ini檔案設定問題,就開啟php.ini文件,找到;default.charset="UTF-8"--->default.charset="UTF-8"把前面的分號去掉(去掉註解),重啟apache服務,重新整理頁面,中文顯示正常。
推薦學習:《PHP影片教學》
以上是php變數輸出亂碼怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!