http://wiki.apache.org/tomcat/FAQ/CharacterEncoding#Q8
tomcat에서 UTF-8로 바꾸기 위한 모든 절차를 깔끔하게 정리해놨다.
주의!! 추가로 catalina.sh 같은 시작파일에 -Dfile.encoding=utf-8 같은 옵션을 줘야 한다.
이는 DefaultServlet의 fileEncoding 파라메터와 같으며, static 파일을 읽을 때 사용할 encoding을 정한다.
만약 static 파일을 읽어와서 사용자에게 뿌려줄 생각이면 이 옵션을 켜둬야 함.
What can you recommend to just make everything work? (How to use UTF-8 everywhere).
Using UTF-8 as your character encoding for everything is a safe bet. This should work for pretty much every situation.
In order to completely switch to using UTF-8, you need to make the following changes:
Set URIEncoding="UTF-8" on your <Connector> in server.xml. References: HTTP Connector, AJP Connector.
Use a character encoding filter with the default encoding set to UTF-8
- Change all your JSPs to include charset name in their contentType.
For example, use <%@page contentType="text/html; charset=UTF-8" %> for the usual JSP pages and <jsp:directive.page contentType="text/html; charset=UTF-8" /> for the pages in XML syntax (aka JSP Documents).
- Change all your servlets to set the content type for responses and to include charset name in the content type to be UTF-8.
Use response.setContentType("text/html; charset=UTF-8") or response.setCharacterEncoding("UTF-8").
- Change any content-generation libraries you use (Velocity, Freemarker, etc.) to use UTF-8 and to specify UTF-8 in the content type of the responses that they generate.
Disable any valves or filters that may read request parameters before your character encoding filter or jsp page has a chance to set the encoding to UTF-8. For more information see http://www.mail-archive.com/users@tomcat.apache.org/msg21117.html.
How can I test if my configuration will work correctly?
The following sample JSP should work on a clean Tomcat install for any input. If you set the URIEncoding="UTF-8" on the connector, it will also work with method="GET".
<%@ page contentType="text/html; charset=UTF-8" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Character encoding test page</title>
</head>
<body>
<p>Data posted to this form was:
<%
request.setCharacterEncoding("UTF-8");
out.print(request.getParameter("mydata"));
%>
</p>
<form method="POST" action="index.jsp">
<input type="text" name="mydata">
<input type="submit" value="Submit" />
<input type="reset" value="Reset" />
</form>
</body>
</html>'SW-PRODUCT > 개발-웹닭·HTTP' 카테고리의 다른 글
| 초간단 웹서비스 띄우기 (0) | 2013.08.07 |
|---|---|
| 10진수 / 36진수 / 62진수 (0) | 2013.07.25 |
| Cross-origin resource sharing (0) | 2012.12.06 |
| [도구] Free Server Development (0) | 2012.12.05 |
| 라우팅을 꼭 웹서버에서 해야 할까? (0) | 2012.11.10 |