오라클 문자셋에 관해..

peccavi의 이미지

안녕하세요.

결론부터 말씀드리자면 varchar2 형 문자열을(일본어)

sqlplus에서 셀렉트 하면 ???로 나옵니다.

오라클 버전은 9.0.4, 기타 설정은

NLS_LANG : AMERICAN_AMERICA.UTF8
NLS_CHARACTERSET : UTF8
NLS_NCHAR_CHARACTERSET : AL16UTF16

sqlplus를 실행한 리눅스는 문자셋이 en_US.UTF-8 이구요..

진짜 별거 다해봤습니다.. 셀렉트할때 convert()도 써보고
위 오라클 설정들도 변경해 보구요.. 안되네요 근데..

사용중인 터미널 클라이언트에 문제가 있나 해서(유니코드 지원)
터미널도 갖가지로 바꿔가면서 해봤는데도.. 안되네요..

문제가 대체 몰까요.. 어떻게하면 제대로 나올까요..?
답변좀 부탁드립니다.... 제발.. TT

김규태의 이미지

NLS_LANG=Korean_Korea.KO16KSC5601; export NLS_LANG
으로 설정하세요.

보통 DB의 character set이 UTF8 일 경우, 터미널에서 한글을 원활하게 사용하려면 KO16KSC5601로 설정해야 합니다.
그러면 SQL*Net에서 KSC5601 <-> UTF8 로 변환이 됩니다.

peccavi의 이미지

근데, 지금 서비스 대상이 일본인데요..

한글은 좀 무관한 상황이라.. 일본어 문자열이 저장되거든요..

저.. 그러면,, Korean_Korea.KO16KSC5601 를 일어로 대체한다면 어떻게 되나요...?

답변주셔서 감사합니다.. ;-)

----
jai guru deva om...

김규태의 이미지

NLS_LANG=Ameracan_America.JA16SJIS; export NLS_LANG
로 한번 해보시기 바랍니다.
( 일본의 character set이 JA16SJIS 이외에 다른 것이 있는지는 모르겠습니다.)