laravel如何应用mysql字符集utf8mb4?
发布于 作者:苏南大叔 来源:程序如此灵动~

苏南大叔认为:utf8
就是实用性最强的字符集了,现在的主流网页的字符集设定都是utf8
。最近在基于laravel
和easywechat
写微信公众平台的管理代码。
发现在mysql
中用utf8
的时候,居然也有不能显示的字符出现。那不能显示的字符是什么呢?就是emoj
字符...一些人的微信名称里面带emoj
,但是这些字符在mysql的utf8里面是不能保存的。只有把utf8
改成utf8mb4
才ok。别问我咋知道的,实践出真知。
配置laravel
修改laravel
的数据库配置文件config/databases.php
即可。
'mysql' => [
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
],
可能需要的sql语句
当然,对于,已经建好的表格。你还可能需要下面的类似sql语句:
ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE `TABLE_NAME` MODIFY `COLUMN_NAME` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
据说mysql5.5之后,才支持utf8mb4,所以,如果显示不支持字符集utf8mb4的话,请升级你的mysql。
您可能还需要如下sql语句:
查看数据库编码:
SHOW CREATE DATABASE db_name;
查看数据表编码:
SHOW CREATE TABLE tbl_name;
查看字段编码:
SHOW FULL COLUMNS FROM tbl_name;
结语
更多mysql相关文章,请点击查看。由苏南大叔为您带来的IT业界最新文章:


