MySQL의 "잘못된 문자열 값" 오류 수정
배경:
텍스트 구성에도 불구하고 UTF-8 문자 집합 및 데이터 정렬이 포함된 열에서 특정 이메일 주소는 계속해서 "잘못된 문자열"을 트리거합니다. 값" 오류. 이 문서에서는 이러한 오류의 근본 원인을 살펴보고 해결 방법을 제공합니다.
원인:
오류 메시지는 영향을 받은 이메일 주소에 현재 문자에서 지원하지 않는 문자가 포함되어 있음을 나타냅니다. 구성을 설정합니다. UTF-8은 일반적으로 허용되지만 일부 문자 시퀀스는 해당 제한을 초과할 수 있습니다.
해결책:
데이터베이스 연결 확인: MySQL 연결을 설정한 후 다음 SQL 문을 실행합니다.
SET NAMES 'utf8mb4'; SET CHARACTER SET utf8mb4;
이렇게 하면 문자 집합과 문자당 4바이트를 사용하는 UTF-8에 대한 현재 연결의 데이터 정렬 (utf8mb4).
테이블 문자 집합 확인: 영향을 받은 이메일 주소가 포함된 테이블에 대해 다음 쿼리를 실행하여 문자 집합을 확인하세요.
SELECT `tables`.`TABLE_NAME`, `collations`.`character_set_name` FROM `information_schema`.`TABLES` AS `tables`, `information_schema`.`COLLATION_CHARACTER_SET_APPLICABILITY` AS `collations` WHERE `tables`.`table_schema` = DATABASE() AND `collations`.`collation_name` = `tables`.`table_collation` ;
문자 집합이 다음으로 설정되어 있는지 확인하세요. utf8mb4.
데이터베이스 설정 확인: 다음 MySQL 문을 실행하여 전역 문자 집합과 데이터 정렬 설정을 확인합니다.
mysql> show variables like '%colla%'; mysql> show variables like '%charac%';
다음 MySQL 문을 실행합니다. 문자 집합과 데이터 정렬이 모두 다음으로 설정되어 있습니다. utf8mb4.
수정 효과:
utf8mb4를 사용하면 지원되는 문자 범위가 늘어나고 이메일 주소에 대한 "잘못된 문자열 값" 오류가 제거됩니다. 확장 문자. 또한 국제 데이터 및 향후 유니코드 표준과의 데이터베이스 호환성을 향상시킬 수도 있습니다.
위 내용은 UTF-8 MySQL 데이터베이스에서 '잘못된 문자열 값' 오류가 계속 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!