외부 응용 프로그램의 두 번째 데이터베이스에 대한 읽기/쓰기가 필요한 응용 프로그램 (UTF-8 사용)을 작성하고 있습니다 (ISO-8859-1).latin1로 인코딩 된 ResultSet에서 UTF-8로 문자열을 인코딩하는 방법
try {
// data in latin1
String s = rs.getString("sAddrNameF");
System.out.println(s); // shows "Adresse d'exp�dition"
byte[] data = s.getBytes();
String value = new String(data, "UTF-8");
System.out.println("data in UTF8: " + value);
// The expected result should be "Adresse d'expédition"
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
이 코드는 작동하지 않으며, 나는 여전히 반대 변환 (데이터베이스 작성)이 필요합니다. 다른 사람이 동일한 응용 프로그램에서 다른 인코딩을 처리하는 우아한 솔루션을 알고 있다면 알려 주시면 감사하겠습니다.
의 인 IntelliJ는 표준 –
으로 발견에 대한 트릭 파일의 인코딩을 UTF-8을 사용한다? 데이터베이스 스크립트 백업 만 복원하기 때문입니다. 'mysql -uroot -p
'System.out.println ("é \ u00E9");''éé'가 올바르게 표시되는 경우에만 문제가 있습니다. 콘솔은 자체 인코딩을 사용하므로 신뢰할 수 없습니다. 바이트를 들여다 보는 것은 잘못된 접근법입니다. 더 많은 자바 JDBC 드라이버 전송 프로토콜의 인코딩. –