Tomcat encoding
1. GET
Tomcat Connector 항목(HTTP, AJP)의 URIEncoding 속성
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
2. POST
HTTP 요청의 Header에서 Context-Type 항목의 charset 속성값
...
Context-Type: text/html; charset=ISO-8859-1
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param><init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3. JSP
<%@page contentType="text/html; charset=UTF-8" %>
4. Response
response.setContentType("text/html; charset=UTF-8") 이나 response.setCharacterEncoding("UTF-8")
한글 코드 문제와 해결방법
<%@ page contentType="text/html; charset=EUC_KR" %>
<%@ page contentType="text/html; charset=EUC_KR" %> ...
<% String userId = new String(request.getParameter("id").getBytes("Cp1252"), "EUC_KR");
...
JSP에서 Beans 사용하기<jsp:setProperty>
JSP 문서 <jsp:useBean id="user" class="User" scope="page"/>
<jsp:setProperty name="user" property="*"/>
<% user.toKorean(); %>
User Bean (User.java) import java.io.*;
import CharacterSet;
public class User {
private String id;
private String password;
public void setId(String str) { id = str; }
public void setPassword(String str) { password = str; }
public String getId() { return id; }
public String getPassword() { return password; }
public void toKorean() {
id = CharacterSet.toKorean(id); } }
CharacterSet 클래스 (CharacterSet.java)
import java.lang.*; import java.io.*;
public class CharacterSet {
public static String toKorean(String str) { try
{ return new String(str.getBytes("Cp1252"), "EUC_KR");
} catch (UnsupportedEncodingException e) { return null; } } }
Web.xml
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>euc-kr</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Server.xml
설정파일
|
############################################### /usr/local/share/jakarta-tomcat-5.0.19/conf/web.xml charset추가 <mime-mapping> ############################################### /usr/local/apache/conf/httpd.conf 아래 두줄 추가 AddCharSet EUC-KR .euc-kr |
History
Last edited on 03/03/2011 13:18 by benelog
Comments (0)