AI正在生成摘要
文章主要讲述了由于数据库编码不兼容导致Z-Blog侧栏模块无法更新问题。作者发现,当发布含有Emoji表情的留言时,模块无法更新。通过检查数据库编码和修改排序规则,解决了该问题。建议在数据库管理工具中更改相关表的排序规则,确保侧栏模块正常更新。
话说某一天突然发现本博的侧栏最新留言模块不更新了,百思不得其解,最后还原了前一天的数据备份才解决。
然后今天发现又不更新了,仔细回想在更新与不更新之间做的唯一的操作就是回复了一条留言,留言内容含有Emoji表情。
于是删除了这条回复,更新一下缓存,侧栏开始正常更新了。
瞬间恍然大悟,因为Emoji表情需要的数据库编码为utf8mb4,而本博客的数据库编码是utf8(utf8mb3)。
于是导致了Emoji表情无法储存。
当初因为不能发Emoji表情,我把post文章表及其字段、comment评论表及其字段的排序规则都改为utf8mb4_general_ci。改完后文章和评论都能发Emoji表情了,但是并未修改module表的排序规则。
于是就导致了发布Emoji表情后模块内容不能正确显示。
找到问题根源,解决起来就简单了。
使用phpmyadmin或其它数据库管理工具,找到zbp_module,将其排序规则改为utf8mb4_general_ci。
将zbp_module的mod_Content字段排序规则也改为utf8mb4_general_ci即可。
也可以在更改zbp_module表排序规则时选中:更改所有列排序规则,这样此表下的所有相关字段排序规则都会修改。
看一下侧栏模块,正常了!
补充,不知是否是Mysql版本不同的原因,另一个Mysql版本为5.5的网站发布Emoji表情后侧栏模块并不会不更新,只是会显示一堆???