인코딩 예외: Java-MySQL의 Emojis에 "잘못된 문자열 값"
MySQL을 사용하는 Java 애플리케이션에서 "java. sql.SQLException: 잘못된 문자열 값: 'xF0x9Fx91xBDxF0x9F...'"가 있을 수 있습니다. 이모티콘 문자가 포함된 문자열을 삽입할 때 발생합니다. 이 오류는 문자 인코딩의 차이로 인해 발생합니다.
문제의 문자열 값에 "walmart obama ??"가 포함되어 있는데, 여기서 "???"는 이모티콘을 나타냅니다. 데이터베이스에서는 문자열이 삽입되는 변수가 varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL로 정의되어 있습니다. 그러나 애플리케이션에서 사용하는 MySQL 버전은 UTF-8 인코딩의 기본 BMP(다국어 평면) 문자만 지원합니다. BMP 범위를 벗어나는 이모티콘 문자는 이 인코딩에서 제대로 표현할 수 없습니다.
이 문제를 해결하려면 보조 문자를 지원하는 UTF-8mb4 인코딩으로 전환해야 합니다. 여기에는 다음 조정 작업이 포함됩니다.
이렇게 변경하면 애플리케이션에서 UTF-8mb4 인코딩을 사용하여 이모티콘 문자를 올바르게 처리할 수 있어 "잘못된 문자열 값" 예외가 해결됩니다.
위 내용은 Java에서 MySQL 데이터베이스에 이모티콘을 삽입할 때 \'잘못된 문자열 값\' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!