您好,欢迎访问一九零五行业门户网

thinkphp执行'set names utf8mb4'报错

运行环境:sae + thinkphp
db_charset为utf8;(直接设置为utf8mb4会报错,我也不知道为什么。。。)
想支持emoji表情,测试代码如下
public function test(){
$model = m(''); $model -> query('set names utf8mb4');}

错误提示 : [ sql语句 ] : set names utf8mb4。
求大神给点指导,谢谢!
回复内容: 运行环境:sae + thinkphp
db_charset为utf8;(直接设置为utf8mb4会报错,我也不知道为什么。。。)
想支持emoji表情,测试代码如下
public function test(){
$model = m(''); $model -> query('set names utf8mb4');}

错误提示 : [ sql语句 ] : set names utf8mb4。
求大神给点指导,谢谢!
select version(); 看下数据库版本,5.5以上才支持utf8mb4
mysql::utf8mb4
1、检查下mysql的版本;
mysql 5.5.3 之后的版本,增加utf8mb4字符集;之前的版本要先升级mysql server。
2、mysql utf8mb4 字符集
修改 /etc/my.cnf
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = false
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='set names utf8mb4'
重启 mysql server、检查字符集
其它类似信息

推荐信息