php自动转换成utf8字符串(百度url编码为gbk编码,自动解码后在php中是乱码)
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2019-04-26 11:55:03
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
问题描述
在使用中发现百度的搜索词编码使用的是gbk2312编码导致php解析的时候会出现乱码,处理方法如下
//这一步解码出来后是乱码 $str= urldecode('%C9%FA%BD%AA%C8%E7%BA%CE%EC%EE%B0%DF'); //使用这一步把乱码转换成utf8显示就ok啦 echo iconv('gb2312','utf-8' , $str);
自动判断并转换成utf8
function to_utf8($str) { if (mb_detect_encoding($str) !== 'UTF-8') { $str = iconv('gbk', 'utf-8', $str); } return $str; }