我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

苏南大叔认为:utf8就是实用性最强的字符集了,现在的主流网页的字符集设定都是utf8。最近在基于laraveleasywechat写微信公众平台的管理代码。

苏南大叔:laravel如何应用mysql字符集utf8mb4? - mysql
laravel如何应用mysql字符集utf8mb4?(图1-1)

发现在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业界最新文章:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   laravel    mysql