>  기사  >  데이터 베이스  >  내 MySQL 데이터베이스에서 이중 인코딩된 UTF8 문자를 어떻게 수정할 수 있습니까?

내 MySQL 데이터베이스에서 이중 인코딩된 UTF8 문자를 어떻게 수정할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-30 16:55:26532검색

How Can I Fix Double-Encoded UTF8 Characters in My MySQL Database?

이중 인코딩된 UTF8 문자 수정

잘못된 문자 인코딩으로 인해 "ñ"과 같은 스페인어 문자 변환과 같은 데이터 이상이 발생할 수 있습니다. "±"로. CSV 파일이 Latin1 인코딩으로 잘못 해석된 후 다시 UTF8로 인코딩되는 경우 발생하는 UTF8 문자의 이중 인코딩이 이 문제의 일반적인 원인입니다.

이 문제를 해결하고 의도한 문자를 복원하려면 MySQL은 다음과 같은 특수 함수를 제공합니다.

CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8)

이 함수는 이중 인코딩된 문자열을 가져와서 먼저 CONVERT(field USING latin1)를 사용하여 이를 Latin1 바이너리 문자열로 다시 변환한 다음 올바르게 다시 인코딩합니다. CONVERT(CAST(...) AS BINARY) USING utf8)을 사용하여 UTF8로 변환합니다.

데이터에 수정 사항을 적용하려면 다음 업데이트 문을 사용하세요.

UPDATE tablename SET
    field = CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8);

이 문은 tablename 테이블의 지정된 필드를 업데이트하여 이중 인코딩된 문자를 올바른 UTF8 해당 문자로 바꿉니다. 문자 인코딩을 적절하게 처리하면 데이터의 무결성과 정확성을 보장할 수 있습니다.

위 내용은 내 MySQL 데이터베이스에서 이중 인코딩된 UTF8 문자를 어떻게 수정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.