用户
 找回密码
 入住 CI 中国社区
搜索
查看: 6303|回复: 2
收起左侧

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

[复制链接]
发表于 2008-3-28 10:41:50 | 显示全部楼层 |阅读模式
研究了一段代码后,就在不同的环境测试同一段程序,发现了一个小问题,

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

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


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


第一个地方:

找到database\DB_driver.php文件中如下代码,修改
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文件中如下代码,修改

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




第三个地方是:

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

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



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

谢谢!

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

评分

参与人数 1威望 +5 收起 理由
Hex + 5 原创内容

查看全部评分

发表于 2008-3-29 21:59:24 | 显示全部楼层
审查通过,学习。。。。
发表于 2013-12-14 13:05:28 | 显示全部楼层
很好

本版积分规则