首页 >数据库 >mysql教程 >如何修复 MySQL 数据库中损坏的 UTF-8 编码?

如何修复 MySQL 数据库中损坏的 UTF-8 编码?

Patricia Arquette
Patricia Arquette原创
2024-12-07 07:58:13573浏览

How to Repair Corrupted UTF-8 Encoding in MySQL Databases?

修复损坏的 UTF-8 编码

本文解决了 MySQL 数据库中的 memperbaiki pengkodean UTF-8 yang rakus 问题。当 PHP 5 与 utf8_general_ci 排序规则一起使用并且设置了正确的 UTF-8 标头时,该问题表现为像“à®”这样的乱码。

损坏字符的映射

以下函数可用于将损坏的字符实例映射到其相应的正确UTF-8字符:

function fixUtf8($string) {
  $replacements = array(
    "î" => "®",
    "í" => "í",
    "ü" => "ü"
  );
  
  return str_ireplace(array_keys($replacements), array_values($replacements), $string);
}

数据库转储和恢复

另一种方法涉及转储数据库数据并重新加载它以解析双编码的 UTF-8 字符:

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

mysql -h DB_HOST -u DB_USER -p DB_PASSWORD \
    --default-character-set=utf8 DB_NAME < DB_NAME-dump.sql

此方法通常可以有效解决问题。

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

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