您现在的位置是:首页 > 教程 > 易优cms教程易优cms教程

易优CMS报错General error: 1366 Incorrect string value的解决

紫翠2025-04-07 22:32:25易优cms教程已有4人查阅

导读解决易优CMS中 General error: 1366 Incorrect string value 错误的方法主要包括以下几个步骤:如果当前使用的MySQL版本低于5.5,建议首先将MySQL版本升级到5.7或更高版本。新版本的MySQL已经全面支持 utf8mb4 编码

解决易优CMS中 General error: 1366 Incorrect string value 错误的方法主要包括以下几个步骤:
升级MySQL版本:
如果当前使用的MySQL版本低于5.5,建议首先将MySQL版本升级到5.7或更高版本。新版本的MySQL已经全面支持 utf8mb4 编码,能够更好地处理4字节字符。
修改数据库字符集:
登录到MySQL数据库管理工具(如phpMyAdmin、Navicat等)。
选择易优CMS使用的数据库,执行以下SQL语句,将数据库的字符集和排序规则更改为 utf8mb4 和 utf8mb4_general_ci:
ALTER DATABASE 你的数据库名 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
修改数据表和字段字符集:
对于需要存储特殊字符的表和字段,执行以下SQL语句,将其字符集和排序规则更改为 utf8mb4 和 utf8mb4_general_ci。例如,假设需要修改 ey_content 表中的 content 字段:
ALTER TABLE ey_content CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE ey_content MODIFY content LONGTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
修改MySQL配置文件:
打开MySQL的配置文件 my.cnf(在宝塔面板中,路径通常是 /etc/my.cnf)。
在 [client]、[mysqld] 和 [mysql] 部分添加或修改以下配置:
[client] default-character-set=utf8mb4 [mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4' skip-character-set-client-handshake = true [mysql] default-character-set = utf8mb4
重启MySQL服务:
保存配置文件后,重启MySQL服务以使更改生效。在宝塔面板中,可以通过“软件商店” -> “MySQL” -> “设置” -> “重启”来完成重启操作。
验证修改结果:
重新尝试插入或更新包含特殊字符的内容,确认不再出现 General error: 1366 Incorrect string value 错误。
可以通过以下SQL查询来检查数据库和表的字符集是否已成功更改为 utf8mb4:
SHOW VARIABLES LIKE 'character_set_%'; SHOW VARIABLES LIKE 'collation%'; SHOW FULL COLUMNS FROM ey_content;

本文标签:

很赞哦! (0)

暂无内容
暂无内容
暂无内容
暂无内容
留言与评论 (共有 0 条评论)
昵称:
匿名发表 登录账号
         
验证码: