PHP解决搜索时在URL地址栏输入中文字符搜索结果出现乱码 【转】

来源:赵克立博客 分类: PHP 标签:乱码发布时间:2017-07-10 11:43:10最后更新:2017-07-10 11:43:10浏览:1510
版权声明:
本文为博主学习过程中整理发布,如有侵权请告知
更新时间:
2017-07-10 11:43:10
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

这个问题的出现的前提是本站代码采用utf-8格式,在本地win764  apache环境下没有问题,传到win2008r2服务器上时会出现下面问题


当页面停留在搜索页面时,在浏览器的地址栏输入中文的关键字进行搜索时会出现乱码,在网上查找资料说明,是因为浏览器默认将url中的中文字符编码为gb2312格式,而我的程序中的文件编码是使用的utf-8的格式,所以才会出现这个问题,但是如果是直接使用表单提交的数据就不会出现这种问题。解决办法如下,需要PHP开启mb_string支持。

if (!mb_check_encoding($word, 'utf-8')) {
	$word = iconv('gb2312', 'utf-8', $word);
}



微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python