The change (which is required by the spec) is that if the character set has not
been set before a call to getWriter() then it will default to ISO-8859-1. There
was some discussion on the tomcat-dev list about this (see
http://marc.theaimsgroup.com/?l=tomcat-dev&m=109104739719572&w=2)

I'll try and put together a very simple JSP test case and get back to you.

Mark

> -----Original Message-----
> From: Rick [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, September 01, 2004 3:44 AM
> To: 'Tomcat Users List'; [EMAIL PROTECTED]
> Subject: UTF-8 Encoding Issue Since 5.0.27 ( gun in my mouth )
> 
> Since 5.0.27, pretty much all of my UTF-8 i8 code seems to be 
> messed up. 
> 
> The problem seems to have been caused by whatever fix was 
> created for issue
> --------------------------
> ServletResponse.setContentType sets response encoding after 
> getWriter was
> called (Bugtraq 5062838) (luehe) 
> --------------------------
> 
> Now it seems almost impossible to properly set the encoding 
> type of some of
> my JSPs and all of my Servlets that return UTF-8 XML data.
> 
> As an example, my login page allows the user to switch to 
> Japanese text.
> Text data is read with a ResourceBundle, which reads from a 
> UTF-8 encoded
> .properties file.
> 
> If the encoding of the .jsp page itself is in ASCII, then I 
> can't get the
> characters to show up at all any more.
> I have to save the .jsp page as UTF-8.  
> Added "set JAVA_OPTS=-Dfile.encoding=UTF-8" to my catalina.bat file
> 
> Then, If I try to set a character set in my page header, it messes up.
> 
> This works in some cases...
> <%@ page language="java" import="java.util.*" 
> contentType="text/html" %>
> response.getCharacterEncoding() = "ISO-8859-1"
> 
> The really scary part is that with no meta or charset 
> actually set, that the
> browser(IE) correctly changes to UTF-8 and displays the 
> content fine.   But
> if I change the actual file encoding of the .jsp page from 
> UTF-8 back to
> ASCII. Then IE does not change to UTF-8 and the page is 
> messed up again.
> Why does the actual encoding of the .jsp file itself dictate 
> the response
> sent to the client?    
> 
> It appears that the actual encoding of the source file 
> someone how gets past
> along and then I'm unable to alter the character encoding, 
> and if I try, it
> just causes everything to go to hell.
> 
> 
> This use to work before 5.0.27, but now doesn't, even though 
> all data and
> pages are encoded in UTF-8.
> <%@ page language="java" import="java.util.*" contentType="text/html;
> charset=UTF-8" %>
> response.getCharacterEncoding() = "UTF-8"
> 
> 
> Before 5.0.27, all I had to do to get my output in UTF-8 was ...
>  contentType="text/html; charset=UTF-8"
> 
> Now I have to mess with the actual .jsp file page encodings 
> and still can't
> get most to work properly as well as none of my servlets will 
> return correct
> UTF-8 data.  
> 
> I have tried setting "pageEncoding" in the page tag as well 
> with no luck.
> 
> 
> Thanks for anyone's insight or help on this, its never fun to 
> find out that
> something that had been working quite solid , up and blows up 
> for no good
> reason.
> 
> Current dev machine is on windows xp by the way, vanilla 
> install of Tomcat
> 5.0.28.
> I will be setting this up on a Linux box for more testing shortly.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to