본문 바로가기
IT/DB

[ORACLE] DB Tool 한글 깨짐 현상 해결 방법(오렌지, Toad 등)

by 스터딩아재 2021. 11. 24.
반응형

 

특정 캐릭터 셋의 경우 오렌지나 Toad 같은 DB 툴에서 한글이 깨져서 ???라고 나오는 경우가 있습니다. 이런 경우 해결하는 방법에 대해 알아보겠습니다. 예시는 오렌지로 들겠지만, 그 외 툴의 경우도 해결이 가능합니다.

 

 

1. DB 캐릭터 셋 확인

 

SELECT 
	(SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_LANGUAGE')
    || '_' ||
    (SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_TERRITORY')
    || '.' ||
    (SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET')
FROM DUAL

 

 

조회결과 : AMERICAN_AMERICA.US7ASCII

 

사용하는 DB서버마다 다른 캐릭터 셋이 조회될 것이다. 위 결과를 복사해놓도록 하자.

 

 

 

2. NLS_LANG 직접 수정 방법 (오렌지의 경우)

 

Tools > Orange Options > Common > Enviroment으로 접근해서 NLS_LANG에 위에서 조회한 캐릭터 셋을 입력해주면 됩니다.

 

오렌지 NLS_LANG 설정

 

바로 조회하면 안 되고 오렌지 클라이언트를 껐다가 재실행하면 정상적으로 한글이 조회되는 것을 확인할 수 있습니다.

 

오렌지 NLS_LANG 입력

 

Option이 아니라도 저 부분에 Connect 전에 캐릭터셋을 입력하고 진행해도 됩니다.

 

 

 

 

3. 환경변수 NLS_LANG 추가 (다른 툴의 경우)

 

다른 DB 툴에도 NLS_LANG을 수정할 수 있다면 수정하면 되겠지만 설정하는 부분을 못 찾겠다면 환경변수와 레지스트리에 추가해주면 됩니다.

 

NLS_LANG
제어판 환경 변수

 

JAVA_HOME과 마찬가지로 변수 이름을 NLS_LANG으로 값을 위에서 조회한 캐릭터셋으로 저장해줍니다.

 

NLS_LANG
환경변수 추가

 

그리고 실행창(윈도우+R)에 regedit을 입력하여 레지스트리 편집기를 열고 아래 위치에 NLS_LANG을 추가해줍니다. 클라이언트 버전에 따라 마지막 경로는 조금씩 다릅니다.

 

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OracleClient_home

 

NLS_LANG이 있다면 수정하면 되고, 없으면 우클릭 새로 만들기로 문자열 값을 만들어주면 됩니다.

역시 DB 툴을 재기동하면 한글이 정상 조회될 것입니다.

 

 

문제가 해결되셨기를

그리드형

댓글