AIX 환경에서 tomcat 등 wa-was를 돌릴 때 한글이 종종 깨진다.
이유는 크게 AIX환경의 한글문제, ws-was환경의 한글문제, telnet등 접속 툴의 인코딩 문제로 꼽힌다고 본다.
(그 외의문제는 아직까지 못봄)
1. AIX 환경의 한글문제
AIX 환경의 한글문제는 LANG이 어떻게 지정되어 있는지, 한글폰트가 정상적으로 설치되어있는지 확인해보면 된다.
$ locale -a
C
POSIX
en_US
en_US.8859-15
KO_KR
KO_KR.UTF-8
en_US.ISO8859-1
ko_KR
ko_KR.IBM-eucKR
을통해 사용가능한 LANG 을 확인한 후
$ LANG=KO_KR.UTF-8
$ export LANG
$ echo $LANG
KO_KR.UTF-8
을 확인해보면 된다. 폰트가 설치되어있지 않으면 폰트를 설치해서 다음과 같이 지정한다.
(KO_KR.UTF-8 이나 ko_KR.IBM-eucKR을 많이 사용한다고 들었으나 이에대한 정보는 정확하지 않다)
(.profile 에 지정해놔도 상관없다)
2. ws-was환경의 한글문제
tomcat환경 문제일 경우만 적는다. 아직까지 jeus/webtob 환경은 AIX로 문제를 경험해보지 못했으므로..
tomcat의 경우 log4j 를 사용해서 파일로 찍어내던지, catalina.out을 통해 찍어내던지 한글이 종종 깨질경우가 있다.
이 때는 tomcat을 설정해서 한글이 깨지지 않도록 해줘야된다.
shift
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
exec "$_RUNJAVA" "$LOGGING_CONFIG" $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
-Djava.security.manager \
-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
-Dfile.encoding="utf-8" \
org.apache.catalina.startup.Bootstrap "$@" start
else
exec "$_RUNJAVA" "$LOGGING_CONFIG" $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
org.apache.catalina.startup.Bootstrap "$@" start
fi
shift
touch "$CATALINA_OUT"
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
"$_RUNJAVA" "$LOGGING_CONFIG" $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
-Djava.security.manager \
-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
-Dfile.encoding="utf-8" \
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 &
else
"$_RUNJAVA" "$LOGGING_CONFIG" $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 &
fi
catalina.sh 에서 위부분의 빨간 글씨부분을 추가하면된다.
위의 인코딩타입은 서버의 encoding과 파일 encoding에 따라 맞게 적어주고 tomcat을 내렷다가 올리면된다.
3. telnet등 접속 툴의 인코딩 문제
1, 2번의 문제도 아닐 경우 telnet이나 ssh접속툴의 인코딩 문제일 수 있다.
작업해본 결과 cmd(명령프롬프트)창에서의 UTF-8 지원은 현재 되지 않아 깨져서 다른툴을 이용해야 한다.
(cmd창의 속성을보면 인코딩이 ms949 로 되어있는 듯해서 이걸 UTF-8로 변경하면 될듯하지만 이부분은 찾아보지 않았다)
putty 기준으로 설정 - Window - Translation -> Received data assumed to be in which character set:
을 해당 인코딩으로 변경하면 된다.
'OS > AIX' 카테고리의 다른 글
Aix 메모리 사용량 확인 (0) | 2014.05.30 |
---|---|
AIX 포트 변경(차단) 및 SMTP 서비스 다운 (0) | 2011.11.23 |