상세 컨텐츠

본문 제목

jsp 한글 변수 깨짐 문제 해결[펌]

IT 세상/자바세상

by 이현민 (지후지율아빠) 2009. 12. 2. 20:49

본문

한글이 깨진다는건 우선 해야할깨 서버의 인코딩 설정입니다. 서버가 톰캣 기본설치시에는 utf-8이며

따로 설정시에는 euc-kr ,is0-88591 등등 여러가지 선택이 가능합니다. 한글이 깨지는 이유는 매우간단합니다.

서버의 통신은 기본적으로 바이트 단위입니다. 1바이트씩 읽죠 허나 한글은 2바이트가..한글자 입니다. 그러니..

한글이 깨지는겁니다. 아래보이시는것처럼 8859_1 를이용하여 변환하신후에 그값을 다시 KSC5601 변환하시길바랍니다.

JSP 상단에 <%@ page contentType="text/html; charset=euc-kr"%> 를 선언해주시고

request.setCharacterEncoding("euc-kr"); 빼시구요.. 

 /////////////////////////////////////////////////////////////
 public String convert_to_ksc(String str) {
  String result = null;
  try {
   byte[] kscBytes = str.getBytes("8859_1");
   result = new String(kscBytes, "KSC5601");
  } catch(UnsupportedEncodingException e) {}
  return result;
 }

 /////////////////////////////////////////////////////////////
 public String convert_to_ascii(String str) {
  String result = null;
  try {
   byte[] kscBytes = str.getBytes("KSC5601");
   result = new String(kscBytes, "8859_1");
  } catch(UnsupportedEncodingException e) {}
  return result;
 }

위의 문장을 이용해 변환을해서 이용하시면됩니다. 클래스에 넣어두셔도 되고 jsp에 포함해서 호출하셔도 됩니다.

위문장은 어디서든 고루고루 쓰이는 부분입니다. 재가 가지고 있는 유틸리티중하나이기도 하구요..우선 서버상의 통신의 인코딩타입을 보시고 거기에 맞도록 수정하시면 되요..그리고...검색을 생활하합시다. 불과  하루전에 위의 내용과 같은 증상으 질문을 밭았습니다. 글을올리기전에 검색을 생활화합시다.


반응형

관련글 더보기