xhq6632 发表于 2008-3-28 10:41:50

发现一个问题,关于php4和php5兼容的问题

研究了一段代码后,就在不同的环境测试同一段程序,发现了一个小问题,

就是PHP5支持字符集编码,而PHP4下根本就没有这个,所以,在用到数据库或者是页面输出,都会报错,

这里,提个最简单,有效的方法,将凡是可能出现版本区别的地方加上判断版本号,


我初步在以下三个地方修改后,在PHP4下测试通过


第一个地方:

找到database\DB_driver.php文件中如下代码,修改

//此段注意,主要是解决php4报错问题,php4中没有字符编码问题
//如果是php5可能执行此段程序
if(floor(phpversion()) >= 5){   
if (! $this->db_set_charset($this->char_set, $this->dbcollat))
{
    log_message('error', 'Unable to set database connection charset: '.$this->char_set);
   
    if ($this->db_debug)
    {
   $this->display_error('db_unable_to_set_charset', $this->char_set);
    }
   
    return FALSE;
}
}




第二个地方是:

找到config\database.php文件中如下代码,修改



//此段注意,主要是解决php4报错问题,php4中没有字符编码问题
//如果是php5可能执行此段程序
if(floor(phpversion()) >= 5){
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
}





第三个地方是:

找到config\config.php文件中如下代码,修改



//此段注意,主要是解决php4报错问题,php4中没有字符编码问题
//如果是php5可能执行此段程序
if(floor(phpversion()) >= 5){
$config['charset'] = "UTF-8";
}





简单问题修正,希望给初学者方便,请高手不要笑话。

谢谢!

[ 本帖最后由 xhq6632 于 2008-3-28 10:45 编辑 ]

sam 发表于 2008-3-29 21:59:24

审查通过,学习。。。。:handshake

mckee1990 发表于 2013-12-14 13:05:28

很好
页: [1]
查看完整版本: 发现一个问题,关于php4和php5兼容的问题