>데이터 베이스 >MySQL 튜토리얼 >MySQL 데이터베이스에서 손상된 UTF-8 인코딩을 복구하는 방법은 무엇입니까?

MySQL 데이터베이스에서 손상된 UTF-8 인코딩을 복구하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-07 07:58:13574검색

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으로 문의하세요.