表 pre common_member_temp__的文字排序 latin1_swedish ci 不受支持,请人工处理后再继续!
升机3.5提示 表 pre common_member_temp__的文字排序 latin1_swedish ci 不受支持,请人工处理后再继续!怎么处理 数据库里是这样的关于Discuz! X3.5升级过程中出现的"pre_common_member_temp表字符排序latin1_swedish_ci不受支持"问题,作为DZ插件网技术团队成员,我们建议按以下步骤处理:
1. 【预处理操作】
- 通过phpMyAdmin导出完整数据库备份
- 记录当前表的引擎类型:SHOW TABLE STATUS LIKE 'pre_common_member_temp'
2. 【字符集转换步骤】
执行SQL语句:
ALTER TABLE pre_common_member_temp
CONVERT TO CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
3. 【特殊字段处理】
若存在特定字段需要保留原始字符集,可单独处理:
ALTER TABLE pre_common_member_temp
MODIFY COLUMN ip varchar(45) CHARACTER SET latin1 NOT NULL DEFAULT '',
MODIFY COLUMN authstr varchar(20) CHARACTER SET latin1 NOT NULL DEFAULT '';
4. 【索引重建】
转换完成后执行:
REPAIR TABLE pre_common_member_temp;
OPTIMIZE TABLE pre_common_member_temp;
5. 【验证步骤】
执行检查命令:
SHOW CREATE TABLE pre_common_member_temp;
确认输出中显示:
`CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci`
6. 【升级后校验】
建议在phpMyAdmin中运行:
CHECK TABLE pre_common_member_temp EXTENDED;
注意:若转换过程中出现"ERROR 1071 (42000)"索引长度问题,可临时修改配置:
SET GLOBAL innodb_large_prefix=1;
SET GLOBAL innodb_file_format=Barracuda;
该操作适用于Discuz! X3.5版本升级过程中的字符集兼容性调整。如遇特殊字段类型转换失败,可通过DZ插件网技术工单系统提交具体错误信息获取进一步支持。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]