oracle - java간 인코딩 관련 문의
상동이

Lv.1 상동이 (27.♡.129.43)

2024년 4월 25일 PM 02:21 · 수정됨(04. 28. 08:53)

조회 402 공감 0

안녕하세요

오라클 인코딩은 US7ASCII로 되어있고(11g버전), 자바(1.8) 프레임워크 인코딩은 UTF-8로 되어있습니다

서버는 톰캣으로 구동합니다

 

오라클 설정은 바꿀 수 없는 상황이고 화면단 한글은 제대로 출력이 되는데

디비를 select해서 호출하는 넘들은 한글이 깨져서 출력이 됩니다

마찬가지로 화면에서 한글 입력 후 저장을 하게 되면 한글이 깨져서 저장이 되구요;

 

이곳저곳 구글링을 하면서 시행착오를 겪고 있는데 계속 한글이 깨지는 상황이 반복되네요...

어떻게 해결할 방법이 없을까요?

댓글 (4)

  • Old외노자

    Old외노자 Lv.1

    24.04.25 · 99.♡.175.68

    jdbc driver단에서 한글을 인코딩하기 때문입니다.
    select 결과를 String으로 받지 말고, char array로 가져온다음
    원하는 인코딩으로 바꿔서 사용하시면 될꺼에요
  • 상동이

    상동이 Lv.1 → Old외노자 작성자

    24.04.25 · 27.♡.129.43

    네 시도해보겠습니다
    답변 감사합니다!
  • 사악천사 Lv.1 → 상동이

    24.04.26 · 220.♡.115.219

    select : new String(rs.getBytes(column), "euc-kr");
    insert : new String(value.getBytes("euc-kr"), "8859_1");
    이렇게 해보시겠어요?
  • 저도처음이에요

    저도처음이에요 Lv.1

    24.04.28 · 211.♡.162.45

    한글이 주요 필터링 조건이 아니라면 그냥 사용하는 것도 방법입니다. UTF-8로 입력하고 조회 하면 한글로 보이거든요.
    또는 DB 접속 이후에 Session Character Set을 변경해 사용해도 될 것 같네요.
    ALTER SESSION SET NLS_CHARACTERSET='US7ASCII';

댓글을 작성하려면 이 필요합니다.