#1115 - 未知字符集:'utf8mb4'
#1115 - Unknown character set: 'utf8mb4'
我的电脑上有一个本地网络服务器 运行,用于本地开发。我现在正处于导出数据库并导入到我的托管 VPS.
的阶段
导出然后导入时出现以下错误!
1115 - 未知字符集:'utf8mb4'
有人能给我指出正确的方向吗?
有时我在使用默认以 utf8mb4 字符编码导出的 HeidiSQL 时遇到类似的问题。并非所有 MySQL 安装都支持此编码,导入此类数据会导致类似的错误消息。我的解决方法是使用 phpMyAdmin 导出数据,它以 utf8 格式导出。可能还有其他工具和可能的方法,例如手动编辑转储文件、将其从 utf8mb4 转换为 utf8(如果需要)以及将 SET NAMES utf8mb4
更改为 SET NAMES utf8
。 Utf8mb4 是 utf8 的超集,所以如果你绝对确定你的数据只是 utf8,那么你可以简单地将转储文件中的 SET NAMES
更改为 utf8
.
该错误明确指出您的阶段数据库服务器不支持 utf8mb4
。
原因:您可能在本地拥有 MySQL
版本 5.5.3
或更高版本,而在 stage/hosted VPS 上您拥有 MySQL
服务器版本低于5.5.3
在 MySQL 5.5.3 中添加了 utf8mb4 字符集。
utf8mb4
was added because of a bug in MySQL's utf8
character set.
MySQL's handling of the utf8
character set only allows a maximum of 3
bytes for a single codepoint, which isn't enough to represent the
entirety of Unicode (Maximum codepoint = 0x10FFFF
). Because they
didn't want to potentially break any stuff that relied on this buggy
behaviour, utf8mb4
was added. Documentation here.
解决方案 1:
只需将您的 MySQL 服务器升级到 5.5.3(至少)- 下次注意您在本地使用的版本,对于阶段和产品,都必须相同。
一个建议 - 目前默认的字符集应该是utf8mb4
.
解决方案2(不推荐):将当前字符集转换为utf8
,然后导出数据-加载正常。
用文本编辑器打开 sql 文件查找并全部替换
utf8mb4 to utf8
再次导入。
这对我有帮助
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
我的电脑上有一个本地网络服务器 运行,用于本地开发。我现在正处于导出数据库并导入到我的托管 VPS.
的阶段导出然后导入时出现以下错误!
1115 - 未知字符集:'utf8mb4'
有人能给我指出正确的方向吗?
有时我在使用默认以 utf8mb4 字符编码导出的 HeidiSQL 时遇到类似的问题。并非所有 MySQL 安装都支持此编码,导入此类数据会导致类似的错误消息。我的解决方法是使用 phpMyAdmin 导出数据,它以 utf8 格式导出。可能还有其他工具和可能的方法,例如手动编辑转储文件、将其从 utf8mb4 转换为 utf8(如果需要)以及将 SET NAMES utf8mb4
更改为 SET NAMES utf8
。 Utf8mb4 是 utf8 的超集,所以如果你绝对确定你的数据只是 utf8,那么你可以简单地将转储文件中的 SET NAMES
更改为 utf8
.
该错误明确指出您的阶段数据库服务器不支持 utf8mb4
。
原因:您可能在本地拥有 MySQL
版本 5.5.3
或更高版本,而在 stage/hosted VPS 上您拥有 MySQL
服务器版本低于5.5.3
在 MySQL 5.5.3 中添加了 utf8mb4 字符集。
utf8mb4
was added because of a bug in MySQL'sutf8
character set. MySQL's handling of theutf8
character set only allows a maximum of 3 bytes for a single codepoint, which isn't enough to represent the entirety of Unicode (Maximum codepoint =0x10FFFF
). Because they didn't want to potentially break any stuff that relied on this buggy behaviour,utf8mb4
was added. Documentation here.
解决方案 1:
只需将您的 MySQL 服务器升级到 5.5.3(至少)- 下次注意您在本地使用的版本,对于阶段和产品,都必须相同。
一个建议 - 目前默认的字符集应该是utf8mb4
.
解决方案2(不推荐):将当前字符集转换为utf8
,然后导出数据-加载正常。
用文本编辑器打开 sql 文件查找并全部替换
utf8mb4 to utf8
再次导入。
这对我有帮助
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;