moufer 2012-08-23 17:58:33 2924次浏览 1条回复 0 0 0

用gbk的人估计很少,不知道有没有人提及过,这里记录下。在学习自带的blog改成gbk的数据库,gb2312的网页时,发现blog的content显示中文时会乱码。

发现问题是CHtmlPurifier类在调用HTMLPurifier进行危险代码过滤时,没有指定编码造成的

public function purify($content)
{
    $purifier=new HTMLPurifier($this->options);
    $purifier->config->set('Cache.SerializerPath',Yii::app()->getRuntimePath());
    return $purifier->purify($content);
}

修改为

public function purify($content)
{
    $purifier=new HTMLPurifier($this->options);
    $purifier->config->set('Cache.SerializerPath',Yii::app()->getRuntimePath());
     //先在配置文件main.php里先指定charset=>'gb2312'
    $purifier->config->set('Core.Encoding',Yii::app()->charset);
    return $purifier->purify($content);
}
您需要登录后才可以回复。登录 | 立即注册