标签搜索

目 录CONTENT

文章目录

解决Mysql数据库的情况下,使用joe2.0最新主题保存参数错误问题

沙漠渔
2022-06-13 00:33:34 / 0 评论 / 0 点赞 / 496 阅读 / 1,008 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-06-13,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

啥也不说了,说多了都是泪啊。。。

说明

原本自己在原主题的基础上做了一些修改,在本地测试的没问题,然而发布到服务器上之后出现后台的主题参数无法配置的情况,百思不得骑姐啊。。。

经过

既然报interval error,那就查查错误原因呗,于是乎,打开java程序日志,发现如下提示:

Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation '='

看着更多的像是编码问题咯,于是各种查数据库中的编码问题,查阅了halo官方的sql建库语句,搭建了测试库,依然不好使,感觉很纳闷,于是后来查询建表语句的时候发现点猫腻

CREATE TABLE `theme_settings` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `create_time` datetime(6) DEFAULT NULL,
  `update_time` datetime(6) DEFAULT NULL,
  `setting_key` varchar(255) NOT NULL,
  `theme_id` varchar(255) NOT NULL,
  `setting_value` longtext NOT NULL,
  PRIMARY KEY (`id`),
  KEY `theme_settings_setting_key` (`setting_key`),
  KEY `theme_settings_theme_id` (`theme_id`)
) ENGINE=InnoDB AUTO_INCREMENT=697 DEFAULT CHARSET=utf8

原建表语句如上,看着utf8也没什么大问题,关键就要看上面的提示了,mb4是重点!
编码有问题!!!

解决

ALTER TABLE theme_settings CONVERT TO CHARACTER SET utf8mb4;

执行上述语句,把这张表的编码修改为utf8mb4解决了,真是哭啊。。。

之所以在本地测试过程中没问题,是因为本地使用的默认h2数据库,所以未发现该情况。

0
广告 广告

评论区