欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

ci 这样插入mysql,中文为什么显示空白.

程序员文章站 2022-05-26 21:39:20
...
function insert_file($fwqm, $kjsj, $yxts, $jingyan, $version, $xianlu, $kefu, $zhuye)  
    {           
        $this->db->query("SET NAMES utf8"); 
        if($fwqm != null){
            $data = array(
                                    'fwqm' => $this->security->xss_clean($fwqm),
                                    'kjsj' => $this->security->xss_clean($kjsj),
                                    'yxts' => $this->security->xss_clean($yxts),
                                    'version' => $this->security->xss_clean($version),
                                    'jingyan' => $this->security->xss_clean($jingyan),
                                    'xianlu' => $this->security->xss_clean($xianlu),
                                    'kefu' => $this->security->xss_clean($kefu),
                                    'zhuye' => $this->security->xss_clean($zhuye),
                            );

             $this->db->insert('fbz',$data);
        }
    }

直接写中文是可以的,把变量赋值为中文也是可以插入的,通过表单也能插入,但就是这样通过参数传递进来,中文就插入不进mysql,显示空白.

知道了。编码问题
$kjsj = mb_convert_encoding($kjsj,'utf8', 'gbk');

回复内容:

function insert_file($fwqm, $kjsj, $yxts, $jingyan, $version, $xianlu, $kefu, $zhuye)  
    {           
        $this->db->query("SET NAMES utf8"); 
        if($fwqm != null){
            $data = array(
                                    'fwqm' => $this->security->xss_clean($fwqm),
                                    'kjsj' => $this->security->xss_clean($kjsj),
                                    'yxts' => $this->security->xss_clean($yxts),
                                    'version' => $this->security->xss_clean($version),
                                    'jingyan' => $this->security->xss_clean($jingyan),
                                    'xianlu' => $this->security->xss_clean($xianlu),
                                    'kefu' => $this->security->xss_clean($kefu),
                                    'zhuye' => $this->security->xss_clean($zhuye),
                            );

             $this->db->insert('fbz',$data);
        }
    }

直接写中文是可以的,把变量赋值为中文也是可以插入的,通过表单也能插入,但就是这样通过参数传递进来,中文就插入不进mysql,显示空白.

知道了。编码问题
$kjsj = mb_convert_encoding($kjsj,'utf8', 'gbk');

你打印一下$data看看$this->security->xss_clean有没有接收到值。

你看下sql语句

echo $this->db->last_query();
相关标签: php codeigniter