php中使用curl获取网页源码时中文乱码解决方法
如下图所示,使用curl获取网页源码后echo出来,中文部分显示为乱码。这种现象该怎么解决呢!
解决方法:
使用mb_convert_encoding函数,将获取的网页源码进行转码
mb_convert_encoding( $str, encoding1,encoding2)
参数:
$str, 要转换编码的字符串
$encoding1,目标编码,如utf-8,gbk,大小写均可
$encoding2,原编码,如utf-8,gbk,大小写均可
示例代码:
- $html_data =curl_exec($ch);
- curl_close($ch);//关闭会话
- $res=mb_convert_encoding($html_data,’UTF-8′,’UTF-8, GBK,GB2312,BIG5′);//使用该函数对结果进行转码
- echo $res;
复制代码
默认将‘UTF-8, GBK,GB2312,BIG5’几种编码,转换为UTF-8