MySQL-Java JDBC 상호 작용에서 UTF-8 인코딩 문제 해결
두 개의 UTF-8 인코딩 MySQL 데이터베이스가 포함된 시스템에서 데이터베이스 액세스를 위해 IBATIS를 사용하는 Java 코드와 두 번째 데이터베이스의 데이터를 수정하는 웹 애플리케이션에서는 문자 인코딩 문제에 직면합니다.
첫 번째 데이터베이스에서 읽기
첫 번째 데이터베이스에서는 'ó' 대신 'ó'와 같은 문자가 나타납니다. 이는 Java 코드와 데이터베이스 간의 인코딩 불일치를 나타냅니다.
두 번째 데이터베이스에 쓰기
Java 코드에서 두 번째 데이터베이스에 작성된 데이터가 제대로 인코딩되지 않아 다음과 같은 결과가 발생할 수 있습니다. 웹 애플리케이션의 표현이 잘못되었습니다.
인코딩 불일치 해결
MySQL용 JDBC 커넥터는 문자 인코딩을 지정하는 구성 옵션을 제공합니다. 연결 문자열에 이러한 매개변수를 추가하면 UTF-8 데이터를 적절하게 처리할 수 있습니다.
DriverManager.getConnection( "jdbc:mysql://" host "/" dbName "?useUnicode=true&characterEncoding=UTF-8", user, pass);
문자 인코딩 구성 처리
Java 코드에서 검색된 데이터베이스 설정은 Character_set_server 값이 'latin1'입니다. 이 매개변수는 변경할 수 없지만 데이터의 적절한 인코딩을 방해하지는 않습니다.
UTF-8 인코딩을 보장하는 주요 설정은 연결 문자열 매개변수입니다:
useUnicode를 true로 설정하고 CharacterEncoding을 UTF-8로 설정하면 JDBC 커넥터가 문자 데이터를 올바르게 처리하고 UTF를 유지하도록 지시합니다. -8 데이터 전송 프로세스 전반에 걸친 인코딩. 이는 웹 애플리케이션 및 Java 코드와 데이터베이스의 상호 작용 모두에서 문자 표현 문제를 해결합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3