두 데이터베이스를 동기화하는 Java 코드 (Timer Service) 인 두 개의 MySQL 데이터베이스가있는 시나리오가 있습니다. 두 번째 데이터베이스에로드 된 데이터를 수정할 수있는 웹 응용 프로그램 등이 있습니다.JDBC 커넥터를 사용하여 MySQL에서 UTF-8 데이터를 Java에서 읽거나 쓰는 데 문제가 발생했습니다. 5.1
모든 데이터베이스 액세스는 iBATIS를를 사용한다 (하지만 난, PreparedStatement
s와 ResultSet
의 JDBC를 사용하여 동일한 문제가 감지) 내 자바 코드는 첫 번째 데이터베이스에서 데이터를 읽어
을, 나는 'ó'
때처럼 문자를 얻을 실제로는 'ó'
이어야합니다. 이 데이터는 두 x 째 데이터베이스를 수정하지 않고 wroten됩니다.
나중에 웹 응용 프로그램에서로드 된 데이터를 볼 때 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
에도 불구하고 익명 문자가 표시됩니다.
내가 사용하여 데이터를 디코딩하는 경우
...new String(data.getBytes("UTF-8"));
... 내가 올바르게 문자 (O)를 시각화. 하지만 웹 응용 프로그램 양식을 사용하여 데이터를 수정할 때 데이터베이스가 UTF-8이고 내 연결 문자열이 characterEncoding을 사용하지만 두 번째 데이터베이스에서 UTF-8로 데이터가 업데이트되지 않기 때문에이 솔루션을 일반적인 규칙으로 사용할 수 없습니다. characterSetResults 및 useUnicode 매개 변수).
character_set_client-->utf8
character_set_connection-->utf8
character_set_database-->utf8
character_set_filesystem-->binary
character_set_results-->utf8
character_set_server-->latin1
character_set_system-->utf8
character_sets_dir-->/usr/local/mysql51/share/mysql/charsets/
character_set_server 설정을 변경할 수 없습니다 나는 내가 뭘 잘못 알고하지 않습니다! : 내 자바 코드에서
나는 다음과 같은 데이터베이스 설정을 가져
JDBC 커넥터 (mysql-connector-java-5.1.5-bin.jar
)를 사용하여 MySQL에서 UTF-8 데이터를 읽으려면 어떻게해야합니까?
첫 번째 데이터베이스에서 데이터를 읽거나 두 번째 데이터베이스에 데이터를 쓰는 데 문제가 있습니까?
이되어야한다 UTF-8 이후 –
@ScottChu 죄송합니다. 귀하의 의견을 이해할 수 없습니다. – erickson