php自动转换成utf8字符串(百度url编码为gbk编码,自动解码后在php中是乱码)

来源:赵克立博客 分类: PHP 标签:编码乱码发布时间:2018-09-05 11:19:47最后更新:2019-04-26 11:55:03浏览:1653
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。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;
}



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