본문 바로가기
Database/Oracle Lecture

오라클 한글 설정

by 현이빈이 2008. 7. 11.
반응형

SunOS 5.7 + Oracle 8.0.5 + Apache + PHP3
로 게시판을 만들고 있습니다.

그동안 한글이 깨지는 문제는 해결하기 위해
관련글들을 모두 읽어보았지만
제대로 설명된 경우가 없더군요.
오라클 테크넷 사이트에서도 마찬가지...

어쨌든간에(다행스럽게도) 저는 해결을 보았기에
여기 참고가 될만한 글을 남깁니다.

일단 오라클 계정으로 접속하셔서 다음과 같이 실행해보면
오라클에서 한글이 지원되는지를 알 수 있습니다.

$ svrmgrl
> connect internal
> select * from v$nls_parameters;
[생략]
> disconnect
> quit
$

여기서 characterset 라는 부분이 KO16KSC5601 라고 나옵니다.

그리고 오라클 계정의 환경설정파일에서, 예를 들어 .cshrc 라면
다음과 같이 설정되어 있습니다.
자신의 경우에 맞게 수정하세요.

setenv ORACLE_HOME /export/home/oracle8/app/oracle/product/8.0.5
setenv ORACLE_SID ORA8
setenv ORA_NLS33 $ORACLE_HOME/ocommon/nls/admin/data
setenv NLS_LANG American_America.KO16KSC5601

그러면 오라클 계정에도 문제가 없습니다.

이제 데이터베이스를 껏다가 켭니다.
그러면 오라클에는 문제 없습니다.

그리고 PHP 스크립트에서도 데이터베이스에 접속하기 전에
다음과 같이 설정해 줍니다.
제 경우는 딱 두가지만 적어도 되는군요.
자신의 경우에 맞게 수정하세요.

PutEnv("ORACLE_SID=ORA8");
PutEnv("ORACLE_HOME=/export/home/oracle8/app/oracle/product/8.0.5");

이제 스크립트에도 문제가 없습니다.

그래도 한글이 깨져서...

root 로 아파치를 띄웁니다. root 의 환경설정파일에
다음과 같은 라인을 추가합니다.

source ~oracle8/.cshrc

이것은 오라클 계정(oracle8)의 홈디렉토리의 .cshrc 라는
환경설정파일에서 환경설정정보를 읽어와서
로드한다는 뜻이라고 합디다.

이제 root 를 logout 했다가 login 한 다음
아파치 데몬을 껏다가 켭니다.

이제 아파치도 정상입니다.

참고로 제 아파치 데몬들은
하나는 root 권한이고
나머지는 apache 라는 계정으로 설정되어 있습니다.
apache 계정의 .cshrc 에도 source ~oracle8/.cshrc 라는
라인을 추가했습니다. 이게 필수인지는 테스트해보지 않아서 모르겠습니다.

추신: 이 글에서 잘못된 내용이나 부족한 것이 있다면
답변달아 주세요...


출처

phpshcool.com

반응형