CUBRID JAVA StoredProcedure(이하 SP)는 DB Server Process가 구동 될 때 포함하여 함께 구동되는 JVM에서 동작한다.
따라서 SP를 통해 utf-8로 데이터베이스에 저장되어 있는 한글을 정상적으로 읽어 오려면 JVM의 디폴트 charset을 변경하여야 한다.
JVM의 디폴트 charset은
1. JVM이 구동되는 환경의 LANG을 변경하거나
2. Java 옵션을 설정으로 변경할 수 있다.
JVM이 구동되는 환경의 LANG을 변경
먼저 ‘locale –a |grep ko_KR’ 명령을 수행하여 변경 가능한 utf-8 값을 확인한다.
[newTest1 ~]$ locale -a|grep ko_KR ko_KR ko_KR.euckr ko_KR.utf8 |
변경 가능한 utf-8 locale 값을 LANG 환경변수에 설정한다.
[newTest1 ~]$ vi .bash_profile export LANG=ko_KR.utf8 [newTest1 ~]$. .bash_profile |
JAVA 옵션 설정으로 변경
_JAVA_OPTIONS 환경 변수를 설정한다.
[newTest1 ~]$ vi .bash_profile export _JAVA_OPTIONS=-Dfile.encoding=utf-8 [newTest1 ~]$. .bash_profile |
JVM의 디폴트 charset을 변경하고 나서는 꼭 DB Server를 재 시작해줘야 한다.
[newTest1 ~]$ cubrid server
restart DB_NAME
|