php get亂碼的解決方法:1、使用iconv函數將字串依要求的字元編碼轉換;2、使用mb_convert_encoding轉換編碼即可。
本文操作環境:Windows7系統,PHP7.1版,Dell G3電腦。
如何解決php get 亂碼問題? ?
PHP接收GET中文參數亂碼的原因及解決方案
方案1:
$str = iconv("gb2312","utf-8",$str);
方案2:
mb_convert_encoding($str, "utf-8", "gb2312");
相關介紹:
iconv :字串依要求的字元編碼來轉換
說明
iconv(string $in_charset, string $out_charset, string $str): string
將字串str 從in_charset 轉換編碼到out_charset。
參數
in_charset
輸入的字元集。
out_charset
輸出的字元集。
如果你在 out_charset 後面加入了字串 //TRANSLIT,將會啟用轉寫(transliteration)功能。這個意思是,當一個字元不能被目標字元集所表示時,它可以透過一個或多個形似的字元來近似表達。如果你加入了字串 //IGNORE,不能以目標字元集表達的字元將被默默丟棄。否則,會導致一個 E_NOTICE並傳回 false。
警告
//TRANSLIT 運行細節高度依賴系統的 iconv() 實作(請參閱 ICONV_IMPL)。據悉,某些系統上的實作會直接忽略 //TRANSLIT,所以轉換也有可能失敗,out_charset 會是不合格的。
str
要轉換的字串。
傳回值
回傳轉換後的字串, 或是失敗時傳回 false。
php mb_convert_encoding:php內建編碼轉換方法。
方法原型:string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] )
將string 類型str. to_encoding。
推薦學習:《PHP影片教學》
以上是如何解決php get 亂碼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!