이 블로그 검색

2011년 1월 16일 일요일

인코딩

  • 웹브라우져에게 인코딩 정보 전달
response.setContentType("text/html; charset=euc-kr");
내용물의 형식을 알려주는것
text의 html 이고, charset 은 euc-kr 이라고 웹 브라우저에게 알려주는 구문이다.

       - 이걸 해 놓지 않으면 브라우져가 알아서 문서를 인코딩함

  • get방식에서 받아온 정보 인코딩 하기
기본적으로 웹 환경은 문자를 무조건 iso-8859-1 이라는 케릭셋으로 인코딩해서 전송한다.
getParameter로 받아온 값을  재처리를 해주어야한다.
iso-8859-1 -> euc-kr
첫번째로 String name 으로 받은 iso-8859-1 로 전송된 넘어온 파라메터 값을
byte 단위로 쪼갠다.
byte[] b = name.getBytes("iso-8859-1");
쪼개어 배열 b 에 저장된 데이터를 euc-kr 로 재조합하여 변수 name 에 넣는다.
name = new String(b, "euc-kr");

  • post방식으로 넘어온 정보 인코딩 하기
get 방식은 iso-8859-1 로 들어온것을 byte 단위로 쪼개었다가 다시 재조합하는 과정을 거치는데 반해
post 방식에서는 request.setCharacterEncoding("euc-kr"); 한줄로 간단하게 처리가 됨을 알 수 있다.
더불어 파라메터 값이 하나가 아니고 여러개일때 get방식에서는 파라메터 하나하나를
각각 처리 해주어야하지만 post 방식에서는 저 한줄만으로 모두 처리가 되므로 아주 편리하다.


  • 웹브라우져에 보낼 데이터 인코딩 하기
response.setCharacterEncoding("euc-kr");


댓글 없음:

댓글 쓰기