ThinkPHP5 写入Mysql 中文乱码问题?

浏览:3284 发布日期:2016/08/25 分类:ThinkPHP5专区
不知道大家是否遇到过,求解答
,已知

:代码是tp5所有文件是 UTF8,数据库连接时utf8 输出页面也是utf8 ,发现写入数据库是,查询数据库发现数据库也是乱码,请问怎么解决呢?
相信一开始遇到的人不少,这个问题是由于数据库不编码不统一的问题
在SQL中执行以下命令查看SQL编码信息,发现数据编码没有完全统一导致中文乱码SHOW VARIABLES LIKE 'character%'命令
显示的结果character_set_client=utf8mb4
character_set_connection=utf8mb4
character_set_database=gbk
character_set_filesystem=binary
character_set_results=utf8mb4
character_set_server=gbk
character_set_syste=utf8
character_sets_dir
/data1/mysql_root/base/share/charsets/
解决办法就是把数据库编码统一为,你需要的编码即可,<?php
namespace app\index\controller;

use app\index\model\User as UserModel;

class User
{
    // 新增用户数据
    public function add()
    {
        $user           = new UserModel;
        $user->nickname = '阿斯顿';
        $user->email    = 'thinkphp@qq.com';

        if ($user->save()) {
            return '用户[ ' . $user->nickname . ':' . $user->id . ' ]新增成功';
        } else {
            return $user->getError();
        }
    }
    public function read($id='')
    {
        $user = UserModel::get($id);
        echo $user->nickname . '<br/>';
        echo $user->email . '<br/>';

    }
}
最佳答案
评论( 相关
后面还有条评论,点击查看>>