work.Ch
DB Query시 한글 깨짐 문제
Pesadelo
2009. 5. 20. 10:29
<문제>
작업을 하려는데 TOAD에서 오라클 DB Query시 한글 데이터가 ???로 깨져나오는
현상이 있었다.
<해결>
레지스트리의 NLS_LANG 값을 DB 정보와 일치시켜야 하는데, 중요한 점은
NLS_LANG 문자열이 모두 3곳에 존재한다는 것이고 모두 동일하게 수정해줘야한다.
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES\ID0
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0
이곳 개발 DB는 NLS 값이 'AMERICAN_AMERICA.US7ASCII'로 되어있었으며,
최근에는 주로 'KOREAN_KOREA.KO16MSWIN949' 값을 많이 쓴다고한다.
참고) DB의 nls 정보를 보는 쿼리는 아래와 같다.
SELECT NAME, VALUE$ FROM SYS.PROPS$
WHERE NAME='NLS_LANGUAGE' OR NAME = 'NLS_TERRITORY'
OR NAME = 'NLS_CHARACTERSET';