網站站代碼采用utf-8格式,當頁麵停留在搜索頁麵時,在瀏覽器的地址欄輸入中文的關鍵字進行搜索時會出現亂碼,在網上查找資料說明,是因為瀏覽器默認將url中的中文字符編碼為gb2312格式,而我的程序中的文件編碼是使用的utf-8的格式,所以才會出現這個問題,但是如果是直接使用表單提交的數據就不會出現這種問題。解決辦法如下,需要PHP開啟mb_string支持。
$encode = mb_detect_encoding($keywords, array("ASCII","UTF-8","GBK","GB2312","BIG5")); if(!is_utf8($keywords)){ $keywords = iconv($encode,"UTF-8",$keywords); } // 或者 if (!mb_check_encoding($keywords, 'utf-8')){ $keywords = urldecode($keywords); }