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

[版本 3.x] CI3连接MSSQL失败

[复制链接]
发表于 2015-4-13 21:09:58 | 显示全部楼层 |阅读模式
试用CI3,配置database.php采用MSSQL数据库,提示“Unable to set client connection character set: utf8”,同样的配置在CI2中就可正常连接,不知什么原因。
发表于 2015-4-14 01:25:19 | 显示全部楼层
請貼出你配置內容
 楼主| 发表于 2015-4-14 19:37:17 | 显示全部楼层
本帖最后由 csfhc 于 2015-4-14 19:44 编辑

$active_group = 'default';
$query_builder = TRUE;

$db['default'] = array(
        'dsn'        => '',
        'hostname' => '192.168.1.1',
        'username' => 'sa',
        'password' => '1',
        'database' => 'test',
        'dbdriver' => 'mssql',
        'dbprefix' => '',
        'pconnect' => FALSE,
        'db_debug' => TRUE,
        'cache_on' => FALSE,
        'cachedir' => '',
        'char_set' => 'utf8',
        'dbcollat' => 'utf8_general_ci',
        'swap_pre' => '',
        'encrypt' => FALSE,
        'compress' => FALSE,
        'stricton' => FALSE,
        'failover' => array(),
        'save_queries' => TRUE
);

控制器是这样写的:
class Dbtest extends CI_Controller {               
        public function get_data()
        {
                $this->load->database();
                $query = $this->db->query('select top 10 * from my_table');               
                $rows = $query->result();               
                                
                foreach($rows as $row)
                {
                        echo $row->my_column.'<br>';
                }
        }        
}
访问时提示:
A Database Error Occurred
Unable to set client connection character set: utf8


我用的PHP是5.2.14,不知是不是由于版本低引起的。


发表于 2015-4-15 18:52:33 | 显示全部楼层
其实现在还有很多PHP版本是5.2.17,没试过不知道能不能正常运行
发表于 2015-6-3 15:11:21 | 显示全部楼层
system\database\drivers\mssql\mssql_driver.php
发表于 2015-6-3 15:13:15 | 显示全部楼层
system\database\drivers\mssql\mssql_driver.php
280行改成
        protected function _db_set_charset($charset)
        {
                //修正ini_set(mssql.charset)只有在freetds沒有設定語系才有用, 暫時關閉
                //return (ini_set('mssql.charset', "UTF-8") !== FALSE);
                return true;
        }
我是這樣改後就可以正常連接了~
发表于 2016-2-3 11:05:25 | 显示全部楼层
3.0版本好像最低支持php5.3

本版积分规则