首頁  >  文章  >  後端開發  >  php 傳參數為什麼會亂碼

php 傳參數為什麼會亂碼

藏色散人
藏色散人原創
2021-12-22 10:23:141993瀏覽

php傳參數會亂碼是因為編碼不一致,其解決方法就是修改使用uft-8編碼,其修改程式碼如「mb_detect_encoding($typeName,'CP936,UTF-8')」。

php 傳參數為什麼會亂碼

本文操作環境: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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn