Dec 15
프로젝트에서 Tomcat 5.5 환경에서 개발을 하다 실 서버 환경이 Tomcat에서 Jeus 6로 변경되었다.
다행스럽게 사용하는 태그라이브러리가 별다른 문제없이 동작되는 것을 확인했었는데,
우연히 IE를 사용하여 테스트 중 특정 페이지가 제대로 출력되지 않는 문제를 발견했다.
소스에는 문제가 없었는데 이유는 단순하게도 IE의 인코딩이 문제가 되는 페이지만
UTF-8 인코딩을 EUC-KR로 잘못 인지하는 것이다.
게다가 원인은 <fmt:formatDate />태그를 사용하면 인코딩이 잘못 인지되는 것이었다.
이를 해결하기 위해서는 <fmt:formatDate />태그를 사용하기 전에 <fmt:setLocale value=”UTF-8″/> 를 추가하면 된다.
<%@page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
...
<jsp:useBean id="testDate" class="java.util.Date"/>
<fmt:setLocale value="UTF-8"/>
날짜: ${testDate}
<fmt:formatDate pattern="yyyy.MM.dd" value="${testDate}"/>
</body>
</html>










