您现在的位置: 天下网吧 >> 网吧天地 >> 天下码农 >> 后端开发 >> 样例分析 >> 正文

DZ核心编码转换函数diconv分析

[ 作者:天下网咖 来源: 天下网吧 时间:2021-5-17我来说两句

这个函数的主要作用是临时的编码转换功能。

比如把UTF-8转换成GBK,或者是GBK转UTF-8

很多老的站点用的是GBK编码的,但是后面的源码如果是UTF-8的那么需要转换下

另外,如果调用第三方接口返回的值都是UTF-8的,那么也需要转换下编码,否则在GBK版本上显示的将会是乱码。

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;
}

欢迎访问最专业的网吧论坛,无盘论坛,网吧经营,网咖管理,网吧专业论坛 https://bbs.txwb.com

关注天下网吧微信/下载天下网吧APP/天下网吧小程序,一起来超精彩


本文来源:天下网吧 作者:天下网咖

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系邮箱:support@txwb.com.,本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧 网吧天下