这个函数的主要作用是临时的编码转换功能。
比如把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; }