◎ No, 5891
◎ 이름:이동현 (kinneret@wise.co.kr)
◎ 2000/12/14(목) 14:52
◎ 조회: 40 회
[참고]jsp,servlet에서 한글 문제
어찌보면 참 까다롭다고 할수 있는 문제인것 같습니다.
일단 (한글)윈도우라면 디폴트로 글자 타입이 한글로 되어있겠지만 리눅스의경우는 일단 확인을 해야 합니다.
echo $LANG
이렇게 해서 ko,korea* 등과 비슷한 글자가 나온다면 일단은 한글로 세팅이 되어있다고 보면됩니다.
-----------------------------------------------------------------------
/etc/sysconfig/i18n 의 내용에서 타입을 ko_KR.eucKR 로 변경
/etc/profile.d/lang.sh의 내용을 확인
-----------------------------------------------------------------------
안되어 있으면 출력할때 한번더 한글코드로 converting해주면 되겠지만 너무나 번거로운 작업이죠.
그리고 jsp에서는 charset을 'ksc5601'로 해 놓고 해야 합니다.(page 지시자에서)
또 get방식으로 스트링을 넘길때 인코딩을 해주지 않으면 한글은 넘어가지 않습니다.
import java.net.*; 해주고
URLEncoder.encode(인코딩할 스트링)
받을때는 URLDecoder.decode(디코딩할 스트링)
리눅스 상에서 LANG이 영문으로 세팅이 되어있다면 인코딩한 한글을 디코딩 해 주지 않아도 한글이 그대로 뜨더군요. 이상하다 이상해.............
그리고 db에 한글을 넣을때 또는 출력시 한글이 깨지는 현상이 발행한다면 이 메소드를 이용하세요.
//--------------toKor()------------------------------------
public String toKor(String e)
{
String kor=null;
try
{
kor=new String(e.getBytes("8859_1"),"KSC5601");
}catch(UnsupportedEncodingException ue)
{
ue.printStackTrace();
}
return kor;
}