글쓴이 :전응식 1998년 2월 26일 11:54:47
In Reply to: 데이타베이스 한글 문제 해결책의 버그 교정. posted by 김덕태 on 1998년 2월 25일 19:20:11:
김덕태님 질문에 답을 주어서 감사합니다.
일정비율로 한글이 깨지는 문제는
말씀하신대로 Oracle jdbc드라이버의 버그 같군요.
그래서 다른 방법으로 한글을 가져올려고 시도를 해 보았습니다.
이번에는 getUnicodeStream을 써보았습니다.
그런데 가져오는 것이 아래와 같은 코드로 가져와 한글이 또 말썽을
부리더군요.
<소스> InputStream input = results.getUnicodeStream(i) ; //Unicode Ascii BinaryStream String str = "" ; byte bytes[]; int k=0; if(input==null) System.out.println("input null") ; try { bytes = new byte[16]; while(true) { bytes[k++]=(byte)input.read() ; if(k == 14) break ; } str = new String(bytes); System.out.println("BIN1 = "+str) ; System.out.println("BIN2 = "+fromUni12(str)) ; for(int p=0 ; p <16 ; p++) { //char c = str.charAt(p) ; System.out.print(Integer.toHexString(bytes[p])+",") ; } } <결과> 입력내용 : 1abc 가나 ResultB1= oracle.jdbc.driver.OracleConversionInputStream@1ccef3 BIN1 = 1abc 45# BIN2 = 1abc 45# 0,31,0,61,0,62,0,63,0,20,34,0,35,23,0,0,
어떻게 하면 상위 바이트와 하위 바이트를 조합할수 있는지,
또 제가 무었을 잘못 가져왔는지 알고 싶습니다.
<참고> getAsciiStram와 BinaryStream을 썼을때.. ResultB1= oracle.jdbc.driver.OracleConversionInputStream@1ccef3 BIN1 = 1abc #??? BIN2 = 1abc #??? 31,61,62,63,20,0,23,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff, ffffffff,ffffffff,0,0,