달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'Was'에 해당되는 글 1건

  1. 2013.09.30 JSP,Servlet에서 한글 문제를 피하려면..

한글 처리에 영향을 주는 곳

10여군대 이상의 곳에서 Encoding 관련 정보들이 있고, 한글 처리에 영향을 미칠수 있다. 
client 부터 WAS까지, WAS에서 DB 및 외부 I/O처리, 다시 WAS에서 Client까지 전 구간을 완벽하게 이해하는것은 어려운 일일수 있지만 몇가지만 정확하게 알고 있으면 한글 깨지는 문제는 피 할수 있다.
특별히 빨간색으로 표기된 부분의 환경설정이 중요하다.

한글 문제를 피하려면?

q몇 가지 환경설정만 잘하면된다.
¤전체 브라우징 과정을 살펴보면 많은 과정을 거치면서 10여군대 이상의 encoding관련 설정에 영향을 받는다. 모든 과정을 완벽히 이해하는것은 힘들지만 몇 가지 환경설정 및 핵심 구간의 동작을 이해하면 한글 문제를 할 수 있다.
¤필수 환경 설정
¤WAS JVM 설정
¤HTML Meta Tag
¤JSP 페이 설정
¤Servlet Response/Request 설정
¤DB 언어 설정
¤3가지 구간의 세부 동작을 이해하자!
¤브라우저부터 Request 객체까지
¡Static Page 호출 Form 데이터 수신 과정 이해
¤Java 언어에서의 Encoding 이해 및 외부 I/OEncoding 이해
¤Response 객체에서 Encoding 이해
q언어 처리는 크게 2가지 상황이 있다.
¤한글과 영어만 제대로 나오면 되는 경우 ( 다국어 처리를 고려하지 않음 )
¤한국어,중국어,일본어, 힌두어 등 다국어를 동시에 처리해야 하는 경우.

    한글과 영어만 고려한 환경설정 ( 다국어 처리를 고려하지 않음 )

qWAS JVM 설정
¤file.encoding=ms949, client.encoding.override=ms949
qHTML Meta Tag설정
¤<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
qJSP 페이지 설정
¤<%@ page pageEncoding=“ms949contentType="text/html;charset=ms949" %>
pageEncoding 생략시 charset 값으로 pageEncoding )
qServlet Response/Request 설정
¤HTTP 요청의 인코딩 지정 ( client.encoding.override가 정의되어 있다면 생략해도 됨 )
¤request.setCharacterEncoding(“ms949”);
¤HTTP 응답의 인코딩 지정
¤response.setContentType("text/html; charset=ms949"); or
response.setCharacterEncoding(“ms949");
q빨간색으로 표기된 ms949대신 euc-kr을 사용하면 euc-kr의 문제인 현대한글 중 2350자만 표현 가능한 문제가 발생한다. (,펲등의 한글이 깨짐) 그래서 euc-kr 대신 ms949를 사용하는것이 바람직하다. 
ms949가 비록 ms에서 만든 환영받지못한 Charter Set이지만, 오라클 DB, JAVA, 많은 WAS에서 대부분 지원하고 있는 표준의 역할을 하고 있다. ( 물론 unicode를 사용하지 않는 경우에 한해겠지만.. )
¤오라클도 ms949를 지원하므로 ms949 로 설정해야 현대한글이 모두 표현된다.
¤Html의 경우 charset=euc-kr로 을 줘도 브라우저에서 현대한글이 정상적으로 출력된다.
 
    다국어를 지원해야 하는 경우의 환경설정
q하나의 페이지에서 다국어를 입력,출력해야 한다면 모든 설정을 UTF-8로 통일시켜야 한다.
qWAS JVM 설정
¤file.encoding=UTF-8, client.encoding.override=UTF-8
qHTML 설정
¤<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
qJSP 페이지
¤<%@ page pageEncoding=“UTF-8" %> ( 생략가능, 생략시 charset 값으로 pageEncoding )
¤<%@ page contentType="text/html;charset=UTF-8" %>
qServlet 설정
¤HTTP 요청의 인코딩 지정
¤request.setCharacterEncoding(“UTF-8”);
¤HTTP 응답의 인코딩 지정
¤response.setContentType("text/html; charset=UTF-8"); or
response.setCharacterEncoding(“UTF-8");
qDBMS
¤DBMS 설정값도 UTF-8로 설정해야 한다

'그외 주제들 > 한글처리' 카테고리의 다른 글

Response 구간 정리  (0) 2013.09.30
Request 구간 정리  (0) 2013.09.30
Unicode ( 유니코드 )  (0) 2013.09.30
문자셋과 인코딩  (0) 2013.09.30
Character-Set & Encoding이란?  (0) 2013.09.30
Posted by 행복한삶~!!
|