#1273 - 未知校对:'utf8mb4_unicode_520_ci'

Shi*_*tel 120 mysql sql wordpress collation

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

#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激!

Sab*_*jad 254

我相信这个错误是由于本地服务器和实时服务器运行不同版本的MySQL而引起的.要解决这个问题:

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

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

  • @John,你链接的文章并没有真正为这条评论辩护.他们的"因此"甚至无法从他们的前提中恰当地陈述.整体而言,整篇文章写得不好,尽管那里似乎确实有一些好的信息.520整理使用具有不同权重的更新版本的Unicode整理算法(UCA - 版本5.2.0),但是说它"具有更好的UTF-8支持"似乎不仅仅是一个延伸. (4认同)
  • **地狱!!! **已经有广泛的文献记载,`utf8mb4_unicode_520_ci`比* utf8mb4_unicode_ci具有*更好的* UTF-8支持!调味料:http://mysql.rjweb.org/doc.php/charcoll#best_practice带有视觉清晰度证明520_ci在此处效果更好:http://mysql.rjweb.org/utf8_collat​​ions.html (2认同)
  • 假设标准主体 (Unicode) 通常会使每个新版本 (5.20) 比旧版本 (4.0)“更好”。 (2认同)

小智 169

您可以通过查找来解决此问题

ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
Run Code Online (Sandbox Code Playgroud)

在您的.sql文件中,并与其交换

ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
Run Code Online (Sandbox Code Playgroud)

  • 我推荐Sabba(/sf/answers/3088558091/)的答案,因为它保留了utf8mb4 (21认同)
  • @Sabba Keynejad下面的解决方案在我看来更好,因为它保留了mb4,你应该先尝试一下. (4认同)
  • 它不起作用,现在它给出错误:`COLLATION 'utf8_general_ci'对于字符集'utf8mb4'无效`,我已将`utf8mb4_unicode_520_ci`替换为`utf8mb4_unicode_ci`并且它正在工作,按照Sabba的回答。 (2认同)

She*_*man 46

在我的情况下,事实证明我的
新服务器正在运行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文件.

  • 如果您完全控制服务器,这绝对是最好的方法.升级新服务器,使其与旧服务器匹配.如果您没有升级新服务器位置的权限,则find-replace方法可能没问题,但无论如何您只能进行此升级,您应该这样做. (2认同)

小智 40

我在将数据导入使用 mysql 工作台导出的 mysql 时遇到了挑战。这是一个整理问题。我通过以下方式解决了这个错误:

  1. 使用文本编辑器打开 .sql 文件
  2. 将“utf8mb4_0900_ai_ci”替换为“utf8mb4_general_ci”。
  3. 将文件另存为 .sql 并导入

有效


小智 19

在文本编辑器中打开sql文件;

1.搜索: utf8mb4_unicode_ci 替换: utf8_general_ci (全部替换)

2.搜索: utf8mb4_unicode_520_ci 替换: utf8_general_ci (全部替换)

3.搜索: utf8mb4 替换: utf8 (全部替换)

保存并上传!

  • 我真的很高兴找到你的解决方案,我已经收到这个 #1273 错误好几天了,但我就是找不到解决方案 (2认同)

Sha*_*ain 14

只需删除"520_"
utf8mb4_unicode_520_ciutf8mb4_unicode_ci


小智 12

易于更换

sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' your_sql_file.sql
Run Code Online (Sandbox Code Playgroud)

  • 在 macOS 上:```sed -i '' 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' your_sql_file.sql``` (3认同)

Has*_*eed 12

这个错误是因为MySQL不同版本冲突造成的。为了解决这个问题:

  • 在任何文本编辑器中打开 sql 文件

  • 查找并替换所有 utf8mb4_0900_ai_ci 为 utf8mb4_unicode_ci

  • 保存并尝试新的 mySql db 文件

之后再试一次,对我来说效果很好 在此输入图像描述


Cod*_*Spy 11

我刚刚在 Notepad++ 中打开了 dump.sql 文件,然后按 CTRL+H 找到并替换字符串“ utf8mb4_0900_ai_ci ”并将其替换为“ utf8mb4_general_ci ”。源链接https://www.freakyjolly.com/resolved-when-i-faced-1273-unknown-collat​​ion-utf8mb4_0900_ai_ci-error/


Mus*_*man 8

获取整理错误 #1273 - 未知整理:'utf8mb4_unicode_520_ci' 是由您导出的 MySQL 版本和您导入的 MySQL 服务器的差异引起的。基本上,较新版本的 Wordpress 库会检查您的站点正在运行的 SQL 版本。如果它使用 MySQL 5.6 或更高版本,则假定使用名为“utf8mb4_unicode_520_ci”的新的和改进的 Unicode 整理算法 (UCA)。这很好,除非您最终将 WordPress 站点从较新的 5.6 版本的 MySQL 移动到较旧的 5.6 之前的 MySQL 版本。

要解决此问题,您必须编辑 SQL 导出文件并进行搜索和替换,将“utf8mb4_unicode_520_ci”的所有实例更改为“utf8mb4_unicode_ci”。或者,如果您有 PHPMyAdmin,请按照以下步骤操作:

  1. 单击数据库的导出选项卡
  2. 单击自定义单选按钮。
  3. 转到标题为特定格式选项的部分,并更改数据库系统或旧 MySQL 服务器的下拉列表,以最大限度地提高输出兼容性:从 NONE 到 MYSQL40。
  4. 滚动到底部并单击开始。


小智 6

我遇到了utf8mb4_0900_ai_ci这个问题,我通过使用解决了它。

你只需要替换utf8mb4_0900_ai_ciutf8mb4_general_ci

在此输入图像描述


Joh*_*ohn 5

查找和替换:

utf8mb4_unicode_520_ci
Run Code Online (Sandbox Code Playgroud)

utf8_general_ci
Run Code Online (Sandbox Code Playgroud)

在整个SQL文件中

  • “一般”和“ utf8”都向后退。 (2认同)

Ach*_*chu 5

在我的情况下,我utf8_general_ci用 sed替换它,如下所示:

sed -i 's/utf8_0900_ai_ci/utf8_general_ci/g' MY_DB.sql 
sed -i 's/utf8mb4_unicode_520_ci/utf8_general_ci/g' MY_DB.sql 
Run Code Online (Sandbox Code Playgroud)

之后,我可以毫无问题地导入它。


小智 5

我是这样解决的,我在记事本中打开 .sql 文件,然后单击 CTRL + H 查找并替换字符串“ utf8mb4_0900_ai_ci ”并将其替换为“ utf8mb4_general_ci ”。