본문

Toad에서 한글 레코드 파일로 저장시 깨질경우(XSL, XML)

오라클에서 대량의 레코드를 파일로 덤프뜰 일이 생겼다. 현재 Oracle 10g(Unicode)와 Toad 9버전을 사용하는 상황에서, 추후 재사용을 위하여 XML으로 저장하려고 하는데 Datagrid에서 표현은 잘 되었지만 XML파일로 저장하려 하니 한글이 계속 깨졌다. 그래서 인터넷에서 방법을 뒤졌는데 (미리 말하자면) 이에 대한 해답은 구하지 못했지만, 그동안 찾아본 방법들을 한번 나열해 보기로 한다.

1. Datagrid에 한글이 깨져 나오는 경우.
레지스트리(run->regedit)에서 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE위치에서 NLS_LANG 문자열 값을 KOREAN_KOREA.KO16MSWIN949로 변경해준다. 이방법 말고도 제어판->시스템->고급->환경변수->시스템 변수에서 NLS_LANG을 KOREAN_KOREA.KO16MSWIN949로 설정해준다. AMERICAN_AMERICA.US7ASCII로 테스트 할 수 있다.   

출처 : http://tblog.javaf.net/657

2.  XSL 엑셀파일로 저장하려 할 때(XSL인데 왜 제목은 XML으로 되어있는지...ㅠㅠ)
Toad를 종료한상태에서 C:\Program Files\Quest Software\Toad for Oracle\User Files\Toad.ini 파일을 열어 SaveAs항목 하의 cbXLSWideStrings = 0 을 cbXLSWideStrings = 1 로 바꾼다. 혹은 Save As 창에서 Write Widestrings항목을 체크한 후 재시작하여 저장한다.

출처 : http://blog.naver.com/hiteman1004?Redirect=Log&logNo=140058446225

3. XML 파일로 저장하려 할때.(이걸 원했는데!!!)
Toad 10버전 릴리즈 페이지에서 있던 내용인데 아마도 9버전에서도 적용되겠지.. 하여 가져와봤다. Known Issues and Deprecated Items 내의 Unicode Issues and Unsupported Features 항목에서 다음과 같이 설명하였다.
Export Dataset XML (Plain) format creates bad XML if Unicode string values and Unicode column names are exported. 

출처 : http://toadsoft.com/EditionRNs/Toad10ReleaseNotes.htm


결국 안된다는 거다. 그래서 그냥 구분자를 사용한 텍스트 파일로 저장한 후 정규식으로 XML 파일을 만드는 방법을 사용했다. 진리의 Toad도 이럴때는 그저 두꺼비로구나...ㅠㅠㅠ

댓글

Holic Spirit :: Tistory Edition

design by tokiidesu. powerd by kakao.