【问题标题】:phpMyAdmin export databasephpMyAdmin 导出数据库
【发布时间】:2016-01-04 13:19:06
【问题描述】:

我使用 Mamp 3.4。我有一个带有 3 个表的小型数据库。当我将数据库文件上传到服务器时出现错误:#1115 - Unknown character set: 'utf8mb4'

我已经回到 MAMP 并检查:操作 > 排序 > utf8_unicode_ci 我在每个表和通用数据库中都有这个

要导出,我选择数据库 > 导出 > 自定义 > 将输出保存到文件。在其余的事情中,我保留默认值。

问题出在哪里? mb4是什么? utf8_unicode_ci 是正确的吗?如何从 MAMP 导出并在我的服务器中导入?

【问题讨论】:

  • 能否手动编辑转储文件并更改字符集?
  • user2182349:在 Mamp 中,当我导出时,我有快速选项。他们给了我代码选项。我看到 ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;是这个意思吗?
  • 在转储文件中搜索 utf8mb4。
  • 什么是分机。备份文件是 .sql 还是其他文件。
  • utf8mb4.在问之前我试过了。 utf8mb4 "未找到"

标签: mysql sql phpmyadmin mamp


【解决方案1】:

让我们弄清楚一件事:字符集与排序规则不同。这两个概念只是密切相关的。

字符集告诉处理文本的程序如何解释构成文本的字节流以及在屏幕上显示什么字符。

排序规则告诉处理文本的程序如何对字符进行排序以进行比较和排序。因此,如果您对 RDBMS 中的文本字段进行排序,则 RDBMS 可以使用排序规则来确定记录的顺序。

utf8mb4 是 MySql 使用的字符集。 MySql 的 utf8 实现最多可以在 3 个字节上表示一个字符,而 utf8mb4 最多可以在 4 个字节上表示一个字符。 utf8标准使用最多4字节的定义(utf8, wikipedia),所以严格来说,utf8mb4是mysql中真正的utf8实现。

但是,utf8mb4 是最近才添加的(v5.5.3),所以它的存在在 mysql 社区中仍然没有那么广为人知(MySql utf8mb4)。

如果您尝试使用此字符集将数据导入不支持该字符集的数据库,则会收到问题中的错误消息。

排序规则应该匹配编码,所以如果你有 utf8mb4 字符集,那么也使用 utf8mb4 排序规则。您需要将数据转换为目标系统支持的字符集,并且需要将排序规则与您的编码对齐。

【讨论】:

  • 我不明白,你说“如果你有 utf8mb4 字符集”。我该如何检查?我可以将 utf8mb4 更改为 utf8 吗?在哪里?怎么样?
  • show character set 命令将列出您的 mysql 服务器支持的字符集。改变就是转换你的数据,有很多工具可以做到这一点。
猜你喜欢
  • 2017-08-17
  • 2015-05-20
  • 2017-01-05
  • 2013-06-15
  • 2015-09-13
  • 2011-12-08
  • 2015-09-28
  • 2019-02-26
  • 2023-03-26
相关资源
最近更新 更多