首页  >  文章  >  后端开发  >  如何使用 mysqldump 和 mysql 修复 MySQL 中损坏的 UTF-8 编码?

如何使用 mysqldump 和 mysql 修复 MySQL 中损坏的 UTF-8 编码?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-26 05:48:17994浏览

How to Fix Broken UTF-8 Encoding in MySQL Using mysqldump and mysql?

修复损坏的 UTF-8 编码

问题:

遇到损坏的 UTF-8 字符(例如,Ò®)在 MySQL 数据库中,尽管使用 PHP 标头和Notepad 中的 UTF-8 设置。

解决方案:

要解决损坏的编码,请按照以下步骤操作:

  1. 转储数据库数据使用 mysqldump 到文件。通过使用 --skip-set-charset 并指定 latin1 作为默认字符集,确保转储期间不执行字符集转换。
  2. 使用 mysql 将转储的数据导入回数据库。导入时将默认字符集设置为 utf8,以正确解释数据。

代码:

# Dump data with latin1 character set
mysqldump -h DB_HOST -u DB_USER -p DB_PASSWORD --opt --quote-names \
    --skip-set-charset --default-character-set=latin1 DB_NAME > DB_NAME-dump.sql

# Import data with UTF-8 character set
mysql -h DB_HOST -u DB_USER -p DB_PASSWORD \
    --default-character-set=utf8 DB_NAME < DB_NAME-dump.sql

说明:

此方法通过重建数据将损坏的 UTF-8 字符替换为正确的值使用 MySQL 命令。它确保在导出和导入期间正确设置编码。

以上是如何使用 mysqldump 和 mysql 修复 MySQL 中损坏的 UTF-8 编码?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn