问答中心分类: WORDPRESS#1273 – 未知排序规则:'utf8mb4_unicode_520_ci'
0
匿名用户 提问 1月 前

我在本地有一个 WordPress 网站WAMP服务器。但是当我将其数据库上传到实时服务器时,我得到了错误

#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’

任何帮助,将不胜感激!

Nabil Kadimi 回复 1月 前

sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' file.sql

Nabil Kadimi 回复 1月 前

在下面的查找和替换解决方案的海洋中,不要忘记首先检查@SherylHohman 的答案 – 只需升级到 mariadb / mysql 5.6,以便您的服务器支持这种排序规则。

Nabil Kadimi 回复 1月 前

什么版本的 WordPress?看make.wordpress.org/core/2015/04/02/the-utf8mb4-upgrade

Nabil Kadimi 回复 1月 前

这里还有一个快速指南(wpza.net/unknown-collat​​ion-utf8mb4_unicode_520_ci) 它解释了您应该采取的所有 3 个步骤,以确保您已完成所有操作。

Nabil Kadimi 回复 1月 前

sed -i dump-file.sql -e 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g'

16 Answers
0
Sabba Keynejad 回答 1月 前

我相信这个错误是因为本地服务器和实时服务器运行不同版本的 MySQL 造成的。要解决这个问题:

  1. 在文本编辑器中打开 sql 文件
  2. 查找并替换所有utf8mb4_unicode_520_ciutf8mb4_unicode_ci
  3. 保存并上传到新的 mySql 数据库

希望有帮助在此处输入图像描述

John 回复 1月 前

一定不行!!!已被广泛证明utf8mb4_unicode_520_ci很多比 UTF-8 支持更好utf8mb4_unicode_ci!酱:mysql.rjweb.org/doc.php/charcoll#best_practice视觉澄清证明 520_ci 在这里是优越的:mysql.rjweb.org/utf8_collat​​ions.html

Gremio 回复 1月 前

@John,您链接的文章并没有真正捍卫该评论。他们的“如此”甚至不能从他们的前提正确地表述出来。总的来说,整篇文章写得不好,尽管那里似乎确实有一些很好的信息。 520 排序规则使用具有不同权重的 Unicode 排序算法(UCA – 版本 5.2.0)的较新版本,但要说它“具有更好的 UTF-8 支持”似乎有点牵强。

Rick James 回复 1月 前

假设标准机构 (Unicode) 通常会使每个新版本 (5.20) 比旧版本 (4.0) “更好”。

NightOwl 回复 1月 前

这是最好的答案。

Rakesh 回复 1月 前

我建议使用此解决方案,因为它替换了所有出现的“utf8mb4_unicode_520_ci”。而 savani sandip 答案留下了一些。

0
SherylHohman 回答 1月 前

就我而言,事实证明我的
新服务器正在运行MySQL 5.5,
旧服务器正在运行MySQL 5.6.
所以我在尝试导入时遇到了这个错误.sql我从旧服务器导出的文件。
MySQL 5.5 不支持utf8mb4_unicode_520_ci, 但
MySQL 5.6 可以。
更新到MySQL 5.6在新服务器上解决了整理错误!
如果你想保留 MySQL 5.5,你可以:
– 制作您导出的副本.sql文件
– 替换实例utf8mb4unicode520_ciutf8mb4_unicode_520_ci
…和utf8mb4_unicode_ci
– 导入您的更新.sql文件。

squarecandy 回复 1月 前

如果您可以完全控制服务器,这绝对是最好的方法。升级新服务器,使其与旧服务器匹配。如果您无权升级您的新服务器位置,则 find-replace 方法可能没问题,但在任何情况下您都可以只进行此升级,您应该这样做。

Rick James 回复 1月 前

5.6是什么时候520加入。

Ken Sawyerr 回复 1月 前

这应该是正确的答案。大多数其他解决方案更像是黑客。谢谢@SherylHohman

0
VUUB 回答 1月 前

在文本编辑器中打开 sql 文件;
1. 搜索:utf8mb4_unicode_ci代替:utf8_general_ci(全部替换)
2. 搜索:utf8mb4_unicode_520_ci代替:utf8_general_ci(全部替换)
3. 搜索:utf8mb4代替:utf8(全部替换)
保存并上传!

flying-dev 回复 1月 前

我真的很高兴我找到了你的解决方案,我已经收到这个 #1273 错误好几天了,我只是找不到解决方案

robbclarke 回复 1月 前

救生员。谢谢!

0
Scard 回答 1月 前

易于更换

sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' your_sql_file.sql
Osvaldas 回复 1月 前

在 macOS 上:sed -i '' 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' your_sql_file.sql

0
Shakil Hossain 回答 1月 前

只需删除“520_”
utf8mb4_unicode_520_ciutf8mb4_unicode_ci