본문으로 바로가기


한글이 깨질경우 보통은 데이터베이스의 언어 캐릭터셋과 

오라클 클라이언트의 캐릭터셋이 맞지 않아서 한글이 깨져보이는 경우가 대부분입니다.


아래 내용대로 조치를 해보시고, 한글이 깨지지 않도록 환경을 맞춰주세요.


- 오라클 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 



Oracle DataBase 11g 기본 캐릭터셋

AMERICAN_AMERICA.AL32UTF8


   - 오라클 클라이언트가 설치된 PC의 다음 레지스트리를 확인한다.

     HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ORACLE\OraClient11g_home1\NLS_LANG


(필자의 경우 윈도우10 64bit OS 에서 오라클 클라이언트를 설치했을 때, 

위와 같은 레지스트리 경로가 잡혔으나,

다른 분들은 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 로 설정되어 있는 경우도 있다고 하니

레지스트리 검색기능으로 "NLS_LANG" 을 검색하는 것을 강추합니다.


한글 윈도우 10에 오라클 클라이언트 NLS_LANG 기본값

KOREAN_KOREA.KO16MSWIN949



* 오라클 클라이언트의 캐릭터셋과 DB의 캐릭터셋이 다르다보니 

한글 인코딩에 문제가 있는지 

한글 비교나 한글 깨짐현상이 나타나기 때문에

오라클 클라이언트가 설치된 PC의 레지스트리에서 NLS_LANG 항목을 DB 언어 설정과 동일하게 맞춰주면 됩니다.


PS. oracle 10g 일 경우 NLS_LANG은 AMERICAN_AMERICA.KO16MSWIN949 으로 설정되기도 하네요.


♡ 여러분의 공감이 빅에너지에게 에너지원입니다. 공감, 좋아요 부탁합니다~