2013년 10월 24일 목요일

오라클 한글 깨짐 해결법

  • 오라클 한글 깨짐 해결법

오라클 서버의 언어 설정값과 클라이언트(터미널)의 언어 설정이 달라서 깨지는 경우가 발생한다.

  • 클라이언트가 리눅스일 경우

.bashrc 파일에 export NLS_LANG=KOREAN_KOREA.AL32UTF8
마지막  AL32UTF8 부분을 오라클 CharacterSet 설정과 동일하게 맞춰주면 된다.


  • 클라이언트가 윈도우즈일 경우

[내컴퓨터] - [속성] - [고급 시스템 설정] - [고급탭] - [환경 변수] 이동
시스템 환경변수에 NLS_LANG(값 KOREAN_KOREA.AL32UTF8) 추가


[실행] - [regedit 입력] - [HKEY_LOCAL_MACHINE] - [SOFTWARE] - [Oracle] - [KEY_OraDB12Home1] 이동
NLS_LANG 수정 (KOREAN_KOREA.AL32UTF8)



  • 참고 

윈도우즈 환경에서 AL32UTF8로 설정시 CMD창에서 오라클 출력이 깨지는 현상이 발생한다. (CMD창의 언어 설정이 UTF8로 되어있지 않기 때문)
cmd창에서 chcp 65001 입력으로 해결됨.
> chcp 655001
chcp 949 입력시 기존 설정으로 돌아간다.(ASCII)
> chcp 949

  • 참고
Windows 환경에서 Oracle OCI를 이용해 쿼리를 보낼시에도 쿼리에 한글이 포함된 경우 NLS_LANG 설정이 제대로 되어 있지 않으면 정상적으로 쿼리가 작동하지 않는다. (이걸로 한동안 삽질 ㅜㅜ)

  • 오라클 언어 설정 보는법

SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_LANGUAGE';
SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_TERRITORY';
SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';

댓글 없음:

댓글 쓰기