我开发插件习惯utf8为 标准,然而总有 客户用的 是gbk编码,如果实现兼容呢?以下为兼容笔记。 获取当前帝国 cms的编码
$ecms_config['sets']['pagechar'] 2.撤销header //一旦引入connect.php,帝国就发送了有关编码的header消息
//页面编码
if($ecms_config['sets']['setpagechar']==1)
{
if($ecms_config['sets']['pagechar']=='gb2312'||$ecms_config['sets']['pagechar']=='big5'||$ecms_config['sets']['pagechar']=='utf-8')
{
@header('Content-Type: text/html; charset='.$ecms_config['sets']['pagechar']);
}
}
// 我们在插件里,可以这样去掉他
header_remove();
@header('Content-Type: text/html; charset=utf-8); 3. 增加一个函数
function jhc_ru($str){
global $ecms_config;
if($ecms_config['sets']['pagechar']=='utf-8')return $str;
return mb_convert_encoding($str,$ecms_config['sets']['pagechar'],"UTF-8");
}
function jhc_chu($str){
global $ecms_config;
if($ecms_config['sets']['pagechar']=='utf-8')return $str;
return mb_convert_encoding($str,"UTF-8",$ecms_config['sets']['pagechar']);
} 这样,从数据库读出来数据后,做个编码转换。要把数据写到数据库之前,也做个编码转换。 这样处理后,就可以实现,两种编码的兼容。注意,是以utf-8为准。
|