PHP解决搜索时在URL地址栏输入中文字符搜索结果出现乱码 【转】
版权声明:
本文为博主学习过程中整理发布,如有侵权请告知
更新时间:
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); }