> 데이터 베이스 > MySQL 튜토리얼 > UTF-8 MySQL 데이터베이스에서 '잘못된 문자열 값' 오류가 계속 발생하는 이유는 무엇입니까?

UTF-8 MySQL 데이터베이스에서 '잘못된 문자열 값' 오류가 계속 발생하는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-17 11:40:24
원래의
593명이 탐색했습니다.

Why Am I Still Getting

MySQL의 "잘못된 문자열 값" 오류 수정

배경:

텍스트 구성에도 불구하고 UTF-8 문자 집합 및 데이터 정렬이 포함된 열에서 특정 이메일 주소는 계속해서 "잘못된 문자열"을 트리거합니다. 값" 오류. 이 문서에서는 이러한 오류의 근본 원인을 살펴보고 해결 방법을 제공합니다.

원인:

오류 메시지는 영향을 받은 이메일 주소에 현재 문자에서 지원하지 않는 문자가 포함되어 있음을 나타냅니다. 구성을 설정합니다. UTF-8은 일반적으로 허용되지만 일부 문자 시퀀스는 해당 제한을 초과할 수 있습니다.

해결책:

  1. 데이터 인코딩 확인: 소스 데이터(이메일 주소)가 실제로 인코딩되었는지 확인하세요. UTF-8.
  2. 데이터베이스 연결 확인: MySQL 연결을 설정한 후 다음 SQL 문을 실행합니다.

    SET NAMES 'utf8mb4';
    SET CHARACTER SET utf8mb4;
    로그인 후 복사

    이렇게 하면 문자 집합과 문자당 4바이트를 사용하는 UTF-8에 대한 현재 연결의 데이터 정렬 (utf8mb4).

  3. 테이블 문자 집합 확인: 영향을 받은 이메일 주소가 포함된 테이블에 대해 다음 쿼리를 실행하여 문자 집합을 확인하세요.

    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.

  4. 데이터베이스 설정 확인: 다음 MySQL 문을 실행하여 전역 문자 집합과 데이터 정렬 설정을 확인합니다.

    mysql> show variables like '%colla%';
    mysql> show variables like '%charac%';
    로그인 후 복사

    다음 MySQL 문을 실행합니다. 문자 집합과 데이터 정렬이 모두 다음으로 설정되어 있습니다. utf8mb4.

수정 효과:

utf8mb4를 사용하면 지원되는 문자 범위가 늘어나고 이메일 주소에 대한 "잘못된 문자열 값" 오류가 제거됩니다. 확장 문자. 또한 국제 데이터 및 향후 유니코드 표준과의 데이터베이스 호환성을 향상시킬 수도 있습니다.

위 내용은 UTF-8 MySQL 데이터베이스에서 '잘못된 문자열 값' 오류가 계속 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿