thinkphp执行'set names utf8mb4'报错
高洛峰
高洛峰 2016-10-24 15:13:45
[PHP讨论组]

运行环境:sae + thinkphp
DB_CHARSET为utf8;(直接设置为utf8mb4会报错,我也不知道为什么。。。)
想支持emoji表情,测试代码如下

   $model = M('');    $model -> query('set names utf8mb4');
}

错误提示 : [ SQL语句 ] : set names utf8mb4。求大神给点指导,谢谢!

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
三叔

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、检查字符集


热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号