php转换字符编码为utf-8

有个需求,把文件夹下的所有HTML文件读取名字,并展示在后台页面

      $_filelist = scandir(dirname(APP_PATH).'/public/doc');
        foreach ($_filelist as $key => $value) {
            $tmp = pathinfo($value);
            if($tmp['extension'] == 'html') {
                $filelist[] = array('url'=>$value, 'name'=>str_replace('.html', '', $value));
            }
        }

但是这种写法,在后台展示的都是乱码,考虑到读取出来的文件名不一定是UTF8,需要转换编码

转换编码函数

function strToUtf8($str){
    $encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5'));
    if($encode == 'UTF-8'){
        return $str;
    }else{
        return mb_convert_encoding($str, 'UTF-8', $encode);
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容