page디렉티브 contentType="charset=euc-kr"과 pageEncoding="euc-kr"의 차이
Development/JSP & Servlet 2010. 12. 12. 11:50<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR" %>
- contentType 속성 : JSP파일 출력시 문자코드 및 Content-Type 헤더에
출력할 문자코드명을 지정
- pageEncoding 속성 : JSP파일 작성시의 문자코드를 지정
자바가상머신(JVM)의 내부에서는 모든 문자열이 Unicode로 표현된다.
그러므로 서블릿 콘테너는 JSP파일을 JVM에 읽어들일 때 JSP파일의
문자코드(예를들어 EUC-KR)에서 Unicode로 변환한다.
그리고 웹브라우저에 HTML문서를 출력할 때는 Unicode로부터 출력파일의
문자코드로 변환한다.
■ contentType 속성의 역할
contentType 속성은 "JSP파일 출력시의 문자코드", "Content-Type 헤더에
지정할 문자코드"의 양쪽을 지정하는 기능을 갖는다.
상기 코드와 같이 기술하면 서블릿 콘테너는 콘텐츠를 EUC-KR로
Encode하여 출력한다.
또한 동시에 Content-Type 헤더를 통하여 문자코드 종류를 웹브라우저에
전달한다.
■ pageEncoding 속성의 역할
pageEncoding 속성은 "JSP파일 작성시의 문자코드"를 지정하기 위한
속성으로서 JSP 1.2사양(Tomcat 4.0) 이후부터 지원된다.
예를들어, 윈도우즈에서 작성한 JSP파일이면 EUC-KR를 지정하면 된다.
UNIX의 일본어 에디터로 작성한 것이라면 EUC-JP를 지정하면 바르게 처리될
것이다.
pageEncoding 속성을 생략한 경우, JSP 1.2 사양에서는
"contentType 속성에서 지정된 문자코드로 JSP파일을 읽어들임"
이라고 규정되어 있다.
그러므로 보통은 생략해도 문자깨짐이 발생할 염려는 없다.
그렇지만 EUC-KR -> Unicode -> EUC-KR 의 문자코드 변환은
기억해 둬야 한다.
또한 include 된 JSP파일에서는 contentType 속성을 기술할 수 없으므로
pageEncoding 속성을 이용할 필요가 있다.
이 문제에 대해서는 다음회에 설명할 예정이다.
덧붙여, contentType 속성과 pageEncoding 속성에는 각기 다른 문자코드를
지정할 수도 있다.
예를들어 ShiftJIS로 작성한 JSP파일을 EUC-JP,UTF-8등으로 출력하는 것도
가능하다.
pageEncoding="EUC-KR" %>
- contentType 속성 : JSP파일 출력시 문자코드 및 Content-Type 헤더에
출력할 문자코드명을 지정
- pageEncoding 속성 : JSP파일 작성시의 문자코드를 지정
자바가상머신(JVM)의 내부에서는 모든 문자열이 Unicode로 표현된다.
그러므로 서블릿 콘테너는 JSP파일을 JVM에 읽어들일 때 JSP파일의
문자코드(예를들어 EUC-KR)에서 Unicode로 변환한다.
그리고 웹브라우저에 HTML문서를 출력할 때는 Unicode로부터 출력파일의
문자코드로 변환한다.
■ contentType 속성의 역할
contentType 속성은 "JSP파일 출력시의 문자코드", "Content-Type 헤더에
지정할 문자코드"의 양쪽을 지정하는 기능을 갖는다.
상기 코드와 같이 기술하면 서블릿 콘테너는 콘텐츠를 EUC-KR로
Encode하여 출력한다.
또한 동시에 Content-Type 헤더를 통하여 문자코드 종류를 웹브라우저에
전달한다.
■ pageEncoding 속성의 역할
pageEncoding 속성은 "JSP파일 작성시의 문자코드"를 지정하기 위한
속성으로서 JSP 1.2사양(Tomcat 4.0) 이후부터 지원된다.
예를들어, 윈도우즈에서 작성한 JSP파일이면 EUC-KR를 지정하면 된다.
UNIX의 일본어 에디터로 작성한 것이라면 EUC-JP를 지정하면 바르게 처리될
것이다.
pageEncoding 속성을 생략한 경우, JSP 1.2 사양에서는
"contentType 속성에서 지정된 문자코드로 JSP파일을 읽어들임"
이라고 규정되어 있다.
그러므로 보통은 생략해도 문자깨짐이 발생할 염려는 없다.
그렇지만 EUC-KR -> Unicode -> EUC-KR 의 문자코드 변환은
기억해 둬야 한다.
또한 include 된 JSP파일에서는 contentType 속성을 기술할 수 없으므로
pageEncoding 속성을 이용할 필요가 있다.
이 문제에 대해서는 다음회에 설명할 예정이다.
덧붙여, contentType 속성과 pageEncoding 속성에는 각기 다른 문자코드를
지정할 수도 있다.
예를들어 ShiftJIS로 작성한 JSP파일을 EUC-JP,UTF-8등으로 출력하는 것도
가능하다.
'Development > JSP & Servlet' 카테고리의 다른 글
jsp - *.jsp를 WEB-INF 아래에 숨겨라 (0) | 2012.03.23 |
---|---|
request.setCharacterEncoding (0) | 2012.03.23 |
JSP (0) | 2012.02.05 |
서블릿 Invoker (0) | 2011.12.29 |
JSP와 HTTP 주석 (0) | 2010.12.12 |