tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Tomcat Wiki] Update of "FAQ/CharacterEncoding" by KonstantinKolinko
Date Sun, 28 Mar 2010 12:49:22 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change notification.

The "FAQ/CharacterEncoding" page has been changed by KonstantinKolinko.
The comment on this change is: Updated.
http://wiki.apache.org/tomcat/FAQ/CharacterEncoding?action=diff&rev1=12&rev2=13

--------------------------------------------------

   1. [[#Q3|How do I change how POST parameters are interpreted?]]
   1. [[#Q4|How can I test if my configuration will work correctly?]]
   1. [[#Q6|How can I send higher characters in HTTP headers?]]
-  1. [[#Q8|What can you recommend to just make everything work?]]
+  1. [[#Q8|What can you recommend to just make everything work? -- How to use UTF-8 everywhere.]]
   1. [[#Q9|Why does everything have to be this way?]]
- 
   1. [[#Q5|I'm having a problem with character encoding in Tomcat 5]]
  
  == Answers ==
@@ -34, +33 @@

  <<Anchor(Q3)>>'''How do I change how POST parameters are interpreted?'''
  
  POST requests should specify the encoding of the parameters and values they send. Since
many clients fail to set an explicit encoding, the default is used (ISO-8859-1). In many cases
this is not the preferred interpretation so one can employ a javax.servlet.Filter to set request
encodings. Writing such a filter is trivial. Furthermore Tomcat already comes with such an
example filter. Please take a look at:
-  4.x::
- {{{
- webapps/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
- }}}
   5.x::
  {{{
  webapps/servlets-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
@@ -79, +74 @@

  
  You have to encode them in some way before you insert them into a header. Using url-encoding
(`%` + high byte number + low byte number) would be a good idea.
  
- <<Anchor(Q8)>>'''What can you recommend to just make everything work?'''
+ <<Anchor(Q8)>>'''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:
+ Using `UTF-8` as your character encoding for everything is a safe bet. This should work
for pretty much every situation.
  
-  1. Set URIEncoding="UTF-8" on your <Connector> in server.xml
+ In order to completely switch to using UTF-8, you need to make the following changes:
+ 
+  1. Set {{{URIEncoding="UTF-8"}}} on your <Connector> in `server.xml`. References:
[[http://tomcat.apache.org/tomcat-6.0-doc/config/http.html|HTTP Connector]], [[http://tomcat.apache.org/tomcat-6.0-doc/config/ajp.html|AJP
Connector]].
   1. Use a [[#Q3|character encoding filter]] with the default encoding set to UTF-8
-  1. Change all your JSPs to set the correct `Content-Type` (use `<%@page contentType="mime/type;
charset=UTF-8" %>`)
-  1. Change all your servlets to set the content type for responses to UTF-8
+  1. 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).
+  1. 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")}}}.
-  1. Change any content-generation libraries you use (Velocity, Freemarker, etc.) to use
UTF-8 as the content type
+  1. 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.
   1. 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.
  
  <<Anchor(Q9)>>'''Why does everything have to be this way?'''

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message