php傳參數會亂碼是因為編碼不一致,其解決方法就是修改使用uft-8編碼,其修改程式碼如「mb_detect_encoding($typeName,'CP936,UTF-8')」。
本文操作環境:Windows7系統,PHP7.1版,Dell G3電腦。
php 傳參數為什麼會亂碼?
php參數亂碼解決
網站專案使用gb2312作為專案編碼的時候,由於不同瀏覽器對中文字元的編碼可能不同,有的會將中文編碼為網站編碼,有的會把中文編碼為utf-8,在後台接收參數的時候就會發生亂碼的錯誤。一個比較好的解決方案是對參數中的中文字元進行編碼的識別,如果不是gb2312就進行轉換。
$typeName = $_GET['typeName']; $encode = mb_detect_encoding($typeName,'CP936,UTF-8') ; //如果是CP936,就是gbk编码,如果是UTF-8, 就是utf-8编码 if ($encode =='UTF-8') { //再调用转换成utf-8编码的函数,最终确保是utf-8 $typeName = iconv("utf-8","gb2312",$typeName); }
為了網站編碼問題和以後的拓展還是建議使用uft-8編碼
#推薦學習:《PHP影片教學》
以上是php 傳參數為什麼會亂碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!