#1115 - Mysql 中的未知字符集错误

Posted

技术标签:

【中文标题】#1115 - Mysql 中的未知字符集错误【英文标题】:#1115 - Unknown character set error in Mysql 【发布时间】:2021-08-19 14:56:33 【问题描述】:

我在服务器和本地都有 mysql 版本 8.20,我正在使用带有 mariadb 的 xampp

所以在尝试将服务器 db 导入本地时出现类似的错误

#1115 - Unknown character set:

所以试图解决这个问题

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

所以它正在为 utf8mb4 创建另一个错误

除此之外,我可以从中删除 COLLATE 并导入吗?

【问题讨论】:

我可以从中删除 COLLATE 并导入吗? 这可能会导致数据损坏... #1115 - 未知字符集: 未知字符集?到什么 MySQL(或 MariaDB?)版本? PS。 utf8mb4_0900_ai_ci 和 utf8mb4_unicode_ci 是排序规则,而不是字符集。 请分享更多细节,以便其他人可以重现问题 这能回答你的问题吗? Mysql character set and collations - UTF8mb4 520 【参考方案1】:

它使用以下命令:

sed -i dump.sql -e 's/utf8mb4_0900_ai_ci/utf8_unicode_ci/g' 
sed -i dump.sql -e 's/utf8mb4/utf8/g' 
sed -i dump.sql -e 's/utf8mb4_general_ci/utf8_general_ci/g' 
sed -i dump.sql -e 's/utf8mb4_unicode_ci/utf8_unicode_ci/g' 
sed -i dump.sql -e 's/utf8mb4_tr_0900_ai_ci/utf8_unicode_ci/g' 
sed -i dump.sql -e 's/utf8_vi_0900_ai_ci/utf8_unicode_ci/g' 

【讨论】:

您知道sed 允许您在一次调用中执行多个表达式。 sed -i dump.sql -e ... -e ... -e ... @BillKarwin 我不知道。 您能否添加更多解释,说明您发现错误的原因是什么以及修复如何工作?第一个 sed 行包含相同的命令,该命令已经是问题的一部分,这可能是问题的一部分,而不是解决方案的一部分?

以上是关于#1115 - Mysql 中的未知字符集错误的主要内容,如果未能解决你的问题,请参考以下文章

尝试将 mysql 模型中的表与我的数据库同步,我收到此错误

thinkphp3.2 连接Mysql5 报错 服务器向客户端发送未知的字符集。

简单选择语句的where子句中的MySQL未知列

从服务器接收到的字段的未知字符集索引

PDO::__construct():服务器向客户端发送未知字符集 (255)。请向开发人员报告

PDO::__construct():服务器向客户端发送未知字符集 (255)。请向开发人员报告