오라클 한글깨짐 문제 처리법입니다.
원인은 오라클의 서버와 클라이언트간의 NLS_LANG설정문제 때문입니다.
이것을 일치시켜 주어야 하는데.
Step by Step.
시작 -> 실행
regedit으로 레지스트리 편집기를 열고, " HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ "의 하위 폴더에보면 자신의 오라클베이스폴더가 있습니다. 그것을 클릭해보면 NLS_LANG키가 있는데. 키값을 KOREAN_KOREA.KO16MSWIN949 KOREAN_KOREA.KO16KSC5601 로 바꿔줍니다.
레지스트리편집기를 끈후 다시 시작 -> 실행
cmd로 커맨드입력창을 하나 띄웁니다.
sqlplus /nolog
conn /as sysdba;
update props$ set VALUE$='KO16MSWIN949' where name='NLS_CHARACTERSET';
commit;
shutdown immediate;(데이터베이스를 언마운트 하는작업이라 시간이 걸립니다.)
startup;
하시고 해당 테이블을 조회해 보시면 됩니다.
참고로 조회했는데 한글이 역시나 깨져보인다면 리부팅은 센스!!! 100% 해결될 것입니다.
// JSP에서의 JDBC연동을 통한 컬럼값 (주석처리 ㅋㅋ)
// 참고하세요!! KOREAN_KOREA.KO16KSC5601의 nls_lang 설정값은 완성형 문자코드가 아니면 저장이 되질 않습니다. 그리고 입력할 수 있는 문자열 길이가 짧아 향후 사용자제해야 할 캐릭터 셋이라고 합니다. 위 코드의 슈퍼셋인 KO16MSWIN949를 사용하시면 아무 문제없이 사용하실수 있습니다. 리눅스에서는 안됩니다. 리눅스에서는 아쉽게도 위의 코드셋을 쓰세요.
- 완성형 문자코드란?
일반적으로 쓰는 정상의 문자열로써, 비완성형 문자코드는
뷁뿕뽏햏햏 같은 기존의 한글조합이아닌 값을 말합니다.
고로 위와같은 글자들을 다 인식할 수 있는 것을 써야 하겠죠?
[출처] 오라클 한글깨짐 문제 해결법|작성자 꿍까