ホームページ > バックエンド開発 > PHPチュートリアル > ci 这样插入mysql,中文为什么显示空白.

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

WBOY
リリース: 2016-06-06 20:31:36
オリジナル
1373 人が閲覧しました

<code>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);
        }
    }
</code>
ログイン後にコピー
ログイン後にコピー

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

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

回复内容:

<code>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);
        }
    }
</code>
ログイン後にコピー
ログイン後にコピー

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

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

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

你看下sql语句

<code>echo $this->db->last_query();
</code>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート