Warning: #1366 Incorrect string value: '\xF0\x9F\x98\x81' for column 'author' at row 1
插入的时候报这个错误
原因是创建数据库的时候,选的是utf-8而不是urt8m64
网上有很多这样的教程,如何修改。本地的话可以参考:
https://blog.csdn.net/hzw19920329/article/details/55670782
但是呢,我是在宝塔搞得服务器,上述修改的方法就不是很到位了。
记录一下:
点击操作修改数据库的编码格式
接着点击每个表,同样的点击操作进行修改
最后修改每个表每个字段的
在修改过程中,有可能报错
create table: Specified key was too long; max key length is 767 bytes
进行下面操作,要root进入:
这样就可以保存表情了。
1、使用宝塔自带的终端进行命令行操作,连接数据库,使用命令:
mysql -h 127.0.0.1 -uroot -p数据库名称
【在进行数据库连接的时候,我在使用命令的时候,-u和用户名以及-p和密码之间都添加了一个英文空格,怎么都连接不成功,最后把空格去掉了,才连接上数据库】;
可以使用命令 show charset; 查询服务器支持的编码格式;
【在使用数据库命令的时候,每个命令的结尾一定要添加一个英文的分号,否则会将多行命令当作一个命令来执行,容易出错】;
2、使用命令查看数据库目前的字符集配置
show variables like '$character%';
3、使用命令use选择操作的数据库
use 数据库名称
使用alter命令修改数据表的字符集
alter table 表名 convert to character set 新的字符集;
我的数据库字符编码是utf-8,编码本身是没有问题的,但是,在发布的一些文章中,如果使用了emoji表情符号就无法发布,需要将数据库的字符编码修改为 utf8mb4 格式,按照这种方式修改就可以支持了。