<%@ page contentType="text/html; charset=UTF-8" %>
That seems to do the trick for me. The character encoding for the page is UTF-8 regardless if I'm requesting a JSP directly, or going through an Action.
The entire www.fiskars.com site is Struts/Tiles driven, you can check out http://www.fiskars.com/ru_RU/index.do in particular to see the RU character set being used (in UTF-8 encoding).
Like I said, the only special thing concerns request encoding ... a filter needed to be installed for that. How are you determining that the encoding being sent the the browser isn't UTF-8? Garbage characters alone won't be a good indication ... in Firefox, I go to the "View" menu pop-out the "Character Encoding" menu ... make sure that its set to UTF-8. If it is and you're still getting garbage characters, you may not be saving the JSP files as UTF-8 in your editor. In Eclipse, for instance, you need to specify that the file is UTF-8 in the file's properties (or globally for all files) .. if you don't, it will look like the characters are being inserted correctly, but when Eclipse saves the file, it converts all the characters to ISO-8859-1 which will look like garbage in the browser, even if the encoding is set to UTF-8.
Hope some of this helps!
Brice
Susie Derkins wrote:
Hi list,
I’m using Tiles with Catalina (4.1.29 on Linus and Windows). and I’m having problems setting the response’s encoding to UTF-8.
I added: <%@ page contentType="text/html;charset=UTF-8" pageEncoding-"UTF-8" %> to all my JSP pages – tiles and layouts. It is the first line of each page.
So now, all my JSPs call ApplicationHttpResponse.setContentType *before*
accessing the page’s writer.
Here is the code for setContentType: public void setContentType(String type) { if (!included) getResponse().setContentType(type); }
The problem is that the body of setContentType is never executed because each time a JSP calls it, included is true (I verified by stepping through the code with a debugger), which means we are inside a RequestDispatcher.include(). My guess is that it's Tiles or Struts that causes the request to be dispatch via RequestDispatcher.include.
I tried to set the response’s content type in a filter, but when I check in my custom tags, pageContext.getResponse().pageContext.getResponse() always returns ISO-8859-1, Tomcat’s default encoding.
Setting the encoding in a JSP works fine as long as Struts/Tiles are not involved.
Can somebody please shed some light on this? Do you
know of another way of setting the encoding, that can
occur before the JSPs are processed?
I want to avoid having to build a custom version of
Tomcat with UTF-8 as the default encoding.
Thanks for your time,
Sophia.
______________________________________________________________________ Post your free ad now! http://personals.yahoo.ca
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Brice Ruth, Sr. IT Analyst Fiskars Brands Inc http://www.fiskarsbrands.com/
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
