로컬환경 :
WIN7 ULTI 64BIT
오라클 클라이언트 설치버전 32BIT
JAVA 1.7 JDK
개발DB :
NLS_LANGUAGE | AMERICAN |
NLS_TERRITORY | AMERICA |
NLS_CURRENCY | $ |
NLS_ISO_CURRENCY | AMERICA |
NLS_NUMERIC_CHARACTERS | ., |
NLS_CHARACTERSET | US7ASCII |
NLS_CALENDAR | GREGORIAN |
NLS_DATE_FORMAT | DD-MON-RR |
NLS_DATE_LANGUAGE | AMERICAN |
NLS_SORT | BINARY |
NLS_TIME_FORMAT | HH.MI.SSXFF AM |
NLS_TIMESTAMP_FORMAT | DD-MON-RR HH.MI.SSXFF AM |
NLS_TIME_TZ_FORMAT | HH.MI.SSXFF AM TZR |
NLS_TIMESTAMP_TZ_FORMAT | DD-MON-RR HH.MI.SSXFF AM TZR |
NLS_DUAL_CURRENCY | $ |
NLS_COMP | BINARY |
NLS_LENGTH_SEMANTICS | BYTE |
NLS_NCHAR_CONV_EXCP | FALSE |
NLS_NCHAR_CHARACTERSET | AL16UTF16 |
NLS_RDBMS_VERSION | 11.2.0.4.0 |
현재 인터넷에서 찾아본 방법 몇가지를 시도해보았으나,
혼자서 해결할수없다고 판단하여, 도움을 구하고자 질문드립니다.
시도해본방법
1: 환경변수 NLS_LANG 등록후 , AMERICAN_AMERICA.UC7ASCII 혹은
KOREAN_KOREA.UC7ASCII , KOREAN_KOREA.ko16mswin949 등 바꾸는것등 시도.
2. 처음에는 오라클클라이언트 64BIT를 설치하였으나,
오라클클라이언트 32BIT 를 사용해야한다고해
레지스트리에있는 ORACLE 관련 설정들 모두 삭제후 오라클클라 32BIT 재설치함.
3. DB TOOL 접속시, 캐릭터셋을 UTF8 or KO16MSWIN49 등등. 한글관련 캐릭터셋으로 시도해봄
4. 로컬톰캣 구축 실행후, 이클립스 콘솔창에서 보여지는 SQL 조회결과역시 한글이 깨지게 나옴.
그러나, 잘되고있는 다른사람 컴퓨터환경은 저랑 똑같은데
오라클 클라이언트 32bit만 설치하고 오렌지툴로 바로 접속하니 한글안깨진다하더라고요.
도움주시면 감사하겠습니다...
환경구축이안되어, 쿼리분석하기가 너무힘드네요
DB의 캐릭터셋이 영문이네요.
캐릭터셋을 설정하는 곳은 크게보아 입력, 출력 2군데가 있으며 질문자님께서는 출력부분에만 문자셋을 변경하신 겁니다. 입력단계, 즉 디비에 INSERT할 때 데이터베이스 엔진에서 한글을 지원하지 않으면, 클라이언트에서 아무리 한글을 제대로 집어넣어도 ???? 등으로 깨져 저장됩니다. 입력단계에서 깨져들어갔으니, 출력단계에서 아무리 바꿔봤자 한글이 깨진 상태로 보이는 거죠. 그러니 데이터베이스의 캐릭터셋을 변경하여 한글이 정상적으로 저장부터 되도록 해야 합니다.
NLS_CHARACTERSET | US7ASCII |
데이터베이스의 캐릭터셋을 변경하려면, 아래 링크를 참조하시거나
http://forgiveall.tistory.com/204
다시 한글 캐릭터셋으로 재설치하면 됩니다.
재설치 과정에서 Database Character Set에서 KO16MSWIN949를 선택하거나 UTF8 선택하시면 됩니다.