君山 发表于 2020-11-9 17:04:43

Discuz diconv函数 编码转换函数


/**
* 编码转换
* @param <string> $str 要转码的字符
* @param <string> $in_charset 输入字符集
* @param <string> $out_charset 输出字符集(默认当前)
* @param <boolean> $ForceTable 强制使用码表(默认不强制)
*
*/
function diconv($str, $in_charset, $out_charset = CHARSET, $ForceTable = FALSE) {
        global $_G;

        $in_charset = strtoupper($in_charset);
        $out_charset = strtoupper($out_charset);

        if(empty($str) || $in_charset == $out_charset) {
                return $str;
        }

        $out = '';

        if(!$ForceTable) {
                if(function_exists('iconv')) {
                        $out = iconv($in_charset, $out_charset.'//IGNORE', $str);
                } elseif(function_exists('mb_convert_encoding')) {
                        $out = mb_convert_encoding($str, $out_charset, $in_charset);
                }
        }

        if($out == '') {
                $chinese = new Chinese($in_charset, $out_charset, true);
                $out = $chinese->Convert($str);
        }

        return $out;
}
页: [1]
查看完整版本: Discuz diconv函数 编码转换函数