[英]How to get mysqldump to export a database in the right encoding and collation?
使用mysqldump
转储数据库时,我遇到了编码问题。
问题是正在生成的文件破坏了非 ASCII 字符(例如德语和西班牙语字符)。 数据库中的数据是正确的,但导出错误。
我尝试了以下方法:
--default-character-set
为 utf8、utf8mb4 和 latin1(最后一个选项,因为虽然表使用 utf8_general_ci 排序规则,但数据库本身设置为 latin1,我不知道为什么)。 奇怪的是,输出的文件大小不同,但内容(特别是有问题的字符)在所有三种情况下都显示相同的问题。 好像该选项将被忽略。我正在运行的句子示例:
mysqldump --default-character-set=utf8mb4 --no-tablespaces -u database_user -p database_name > /home/username/database_name-utf8mb4-20220712.sql
在导出过程中和在新服务器中导入过程中都不会出现错误。 一切似乎都很顺利,但是字符编码搞砸了,所以有些事情不妙。
非常感谢任何支持。 谢谢!
但是字符编码搞砸了
给我们一个例子。 包括文件中出现垃圾的一小部分的十六进制转储。
原始数据可能是字符集 utf8 或 latin1,但转储和/或重新加载指定了错误的字符集。 请提供转储和加载的更多详细信息。
另请参阅: UTF-8 字符问题; 我看到的不是我存储的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.