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

[HELP] 数据库编码问题

[复制链接]
发表于 2011-10-12 13:50:08 | 显示全部楼层 |阅读模式
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
这是application/config/database.php配置,
在更新数据库时,中文字段变成了空。数据的字符集是utf8_general_ci,没错。
$this->db->update('user', $data,array('userid'=>$userId));
每次更新前需要进行转换
$this->load->helper('EncodingConvert');
        ConvertEncoding($data, 'UTF-8', 'gbk');
自定义的一个Helper进行编码转换。
很奇怪为什么会这样?为什么字符格式是gbk?
 楼主| 发表于 2011-10-12 14:27:59 | 显示全部楼层
终于搞定了,原来跟我PHP文件的编码格式有关
发表于 2011-10-12 14:54:25 | 显示全部楼层
如果编码是utf8,最好从HTML,PHP到数据库,全是统一的编码,我专门搞多语言的开发,对此深有感触
 楼主| 发表于 2011-10-12 16:44:17 | 显示全部楼层
controller,view都是utf-8,但model层是ASCII,所以存不了中文,如果我把Model层改成UTF-8,中文的存取都没有问题,但是页面上的flexigrid就加载不了。
真是头痛的编码问题。

本版积分规则