Joomla 更新失败。错误 1267 排序规则的非法混合

Posted

技术标签:

【中文标题】Joomla 更新失败。错误 1267 排序规则的非法混合【英文标题】:Joomla update fails. Error 1267 Illegal mix of collations 【发布时间】:2016-11-23 18:26:47 【问题描述】:

我尝试更新一些在 Joomla 3.4.8 中运行的网站。和 3.5.0。每次我尝试将它们更新到 3.5.1 或最新的 3.6.0。主页上显示如下错误:

1267 Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation 'locate' SQL=SELECT m.id,m.id AS item_id,m.title,m.link,m.type,@tmp_search := '"menu-meta_description":"' AS tmp_search, @tmp_search_len := LENGTH(@tmp_search) AS tmp_search_len, @start := LOCATE(@tmp_search, m.params) AS tmp_start, @end := LOCATE('"', m.params, @start + @tmp_search_len) AS tmp_end, TRIM(SUBSTRING(m.params, @start + @tmp_search_len, @end - @start - @tmp_search_len)) AS metadescription,"" AS description,@tmp_search := '"page_title":"' AS tmp_search, @tmp_search_len := LENGTH(@tmp_search) AS tmp_search_len, @start := LOCATE(@tmp_search, m.params) AS tmp_start, @end := LOCATE('"', m.params, @start + @tmp_search_len) AS tmp_end, TRIM(SUBSTRING(m.params, @start + @tmp_search_len, @end - @start - @tmp_search_len)) AS metatitle,e.element as extension FROM #__menu AS m LEFT JOIN #__extensions AS e ON m.component_id = e.extension_id WHERE m.id = '101'

虽然在管理区似乎有 3.6.0.版本,网站崩溃,首页显示错误。

过去两个月我尝试了很多事情,比如通过 phpMyAdmin 将所有排序规则设置为 "utf8_general_ci""utf8mb4_unicode_ci",但这些都没有解决问题。

如果有人能帮我解决这个问题,我将不胜感激。

谢谢,

位置

【问题讨论】:

【参考方案1】:

我们遇到了同样的问题,我们最终将其追溯到我们的扩展程序。在将 Joomla 从 3.6 升级到 3.6.2 之前,我们没有先升级它们。

尝试先升级所有插件,然后在每一步检查数据库以确保其正常。

扩展 > 管理 > 数据库

如果每一步都有问题,请点击“修复”按钮。我们必须分两步升级,从 3.5.4 升级到 3.6.0,然后升级到 3.6.2。在第一次升级期间需要“修复”数据库。这发生在我们所有的 Joomla 安装中。

希望有帮助!

【讨论】:

以上是关于Joomla 更新失败。错误 1267 排序规则的非法混合的主要内容,如果未能解决你的问题,请参考以下文章

排序规则的非法混合 MySQL 错误

MySQL某些字符导致“非法混合排序规则”错误

Joomla3.6致命错误:require_once():需要打开失败

Joomla3.6致命错误:require_once():需要打开失败

joomla 2.5!自定义登录失败通知?

XAmpp 上的 Joomla 安装失败