>  Q&A  >  본문

버그 수정 방법: #1977 - 'utf8' 문자 0xD8AD를 'latin1'로 변환할 수 없습니다.

저는 phpMyAdmin으로 작업 중이고 이름 열에 کٓب آرقيÙ'Ø© Ø1Ù“ÛŒ آØ1زیزبوری와 같은 아랍어 문자 값이 있습니다. 올바른 형식으로 변환하고 싶습니다.

다음 쿼리를 시도했는데 테이블의 레코드 대부분이 올바른 형식으로 변환되었습니다.


으아악

다른 방법도 시도해 봤습니다.

으아악

그러나 그 중 몇몇은 동일하게 유지되며 다음과 같은 오류가 표시됩니다.

#1977 - Cannot convert 'utf8' character 0xD8AD to 'latin1'

저도 이 쿼리를 시도했습니다. :

으아악

이 쿼리는 제대로 작동하며 변환되지 않은 문자를 완벽하게 표시합니다. 하지만 업데이트 쿼리를 사용하면 작동하지 않습니다.

P粉574695215P粉574695215459일 전558

모든 응답(1)나는 대답할 것이다

  • P粉460377540

    P粉4603775402023-07-19 00:22:56

    이것은 아랍어 텍스트의 횡설수설 또는 "이중 인코딩"입니다.

    데이터를 복구하는 방법에는 여러 가지가 있습니다. 개선할 수 있는 방법은 단 하나뿐이고, 다른 방법은 상황을 악화시킬 수 있습니다.

    UTF-8 문자 문제를 살펴보고 내가 저장한 내용이 아닙니다 현재 스키마 정의 SHOW 외에 데이터베이스에 있는 내용의 16진수 값을 가져오는 방법에 대한 조언을 따르세요. 테이블을 생성하세요. SHOW VARIABLES LIKE 'char%' 및 연결 매개변수도 제공하십시오.


    다양한 ALTER 및 CONVERT를 백업하기 전에 16진수 값을 제공해 주시면 올바른 변환 방법을 선택할 수 있습니다.


    회신하다
    0
  • 취소회신하다