本文整理自网络,侵删。
phpcms在本地测试正常 传到虚拟主机上采集的时候出现这个错误
Warning: mb_convert_encoding() [function.mb-convert-encoding]: Unknown encoding ”UTF-8//IGNORE”
看了半天源码,发现是phpcms编码转化的BUG,修改步骤如下:
打开\phpcms\libs\functions\global.func.php文件
找到
代码如下:
/**
* iconv 编辑转换
*/
修改代码,红色的那一句
/**
* iconv 编辑转换
*/
修改代码,红色的那一句
代码如下:
/**
* iconv 编辑转换
*/
if (!function_exists('iconv')) {
function iconv($in_charset, $out_charset, $str) {
$in_charset = strtoupper($in_charset);
$out_charset = strtoupper($out_charset);
if (function_exists('mb_convert_encoding')) {
return mb_convert_encoding($str, str_replace('//IGNORE','',$out_charset), str_replace('//IGNORE','',$in_charset));
} else {
pc_base::load_sys_func('iconv');
$in_charset = strtoupper($in_charset);
$out_charset = strtoupper($out_charset);
if ($in_charset == 'UTF-8' && ($out_charset == 'GBK' || $out_charset == 'GB2312')) {
return utf8_to_gbk($str);
}
if (($in_charset == 'GBK' || $in_charset == 'GB2312') && $out_charset == 'UTF-8') {
return gbk_to_utf8($str);
}
return $str;
}
}
}
这样就能解决问题了。
/**
* iconv 编辑转换
*/
if (!function_exists('iconv')) {
function iconv($in_charset, $out_charset, $str) {
$in_charset = strtoupper($in_charset);
$out_charset = strtoupper($out_charset);
if (function_exists('mb_convert_encoding')) {
return mb_convert_encoding($str, str_replace('//IGNORE','',$out_charset), str_replace('//IGNORE','',$in_charset));
} else {
pc_base::load_sys_func('iconv');
$in_charset = strtoupper($in_charset);
$out_charset = strtoupper($out_charset);
if ($in_charset == 'UTF-8' && ($out_charset == 'GBK' || $out_charset == 'GB2312')) {
return utf8_to_gbk($str);
}
if (($in_charset == 'GBK' || $in_charset == 'GB2312') && $out_charset == 'UTF-8') {
return gbk_to_utf8($str);
}
return $str;
}
}
}
这样就能解决问题了。
更多PHPCMS内容来自木庄网络博客
标签:PHPCMS
相关阅读 >>
it文艺男评cms系列一至五 it文艺男青年对cms的另类评价(图文)
phpcms v9后台添加文章时选择相关文章可调用其它模型信息的方法
完美解决phpcms图片太大撑破表格图片自适应图片按比例缩小
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
更多相关阅读请进入《phpcms》频道 >>
相关推荐
评论
管理员已关闭评论功能...
- 欢迎访问木庄网络博客
- 可复制:代码框内的文字。
- 方法:Ctrl+C。