数据库编码问题
$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? 终于搞定了,原来跟我PHP文件的编码格式有关 如果编码是utf8,最好从HTML,PHP到数据库,全是统一的编码,我专门搞多语言的开发,对此深有感触 controller,view都是utf-8,但model层是ASCII,所以存不了中文,如果我把Model层改成UTF-8,中文的存取都没有问题,但是页面上的flexigrid就加载不了。
真是头痛的编码问题。
页:
[1]