Loading... # 评论中加入表情报错 今天突然发现在评论中加入表情会报一个DataBase QUERY ERROR的错误,在index.php中加入 ``` define('__TYPECHO_DEBUG__',true); ``` 发现报错信息为'Incorrect string value: '\xF0\x9F\x98\x8A' for column 'text' at row 1...,通过报错信息可以发现是字段text的编码方式有问题。尝试用sqlyog远程连接一下数据库,发现连接不上Host * is not allowed to connect to this MySQL server,上网查了一下,发现是mysql拒绝远程连接,解决方法是: ``` mysql -u root -p ``` 进入shell命令行 ``` use mysql; update user set host = '%' where user = 'root'; //host默认是localhost,这里改成%允许远程连接 FLUSH PRIVILEGES; ``` 连接上数据库找到评论表typecho_comments,发现默认字符集是utf-8,该字符集只能支持3字节长度,需要改成utf8mb4 ``` show full columns from typecho_comments; ``` 查看原有表字段 字符集 ``` alter table typecho_comments convert to character set utf8mb4; ``` 修改为utf8mb4 Last modification:June 11th, 2020 at 06:29 pm © 允许规范转载