Hi, These encoding issues are always a nightmare ;)
There are some relevant areas of the Servlet spec you may want to look at wrt encoding, notably (Internationalization and Request data encoding). In terms of UTF-8 not coming back correctly from your database you need to ensure that when they were _added_ that the character encoding was UTF-8. You should also verify yuor database is in UTF-8 mode. If both these statements are true, then you need to read Internationalization in the Servlet spec which says "If the servlet does not specify a character encoding before the getWriter method of the ServletResponse interface is called or the response is committed, the default ISO-8859-1 is used." In other words, you need to call setLocale or setCharacterEncoding before the response is committed. I am not entirely sure whether that is actually what that JSP page directive is doing, maybe it is. Perhaps in your JSP you can output <%= request.getCharacterEncoding() %> to make sure your UTF-8 has been set. If it is null, it has not been set. If it _is_ UTF-8 then the character data is either not actually UTF-8 coming from the database either because a) your database driver connection URL is not operating in UTF-8 mode, b) the data when put into the database was not UTF-8 or c) the database is not running UTF-8. In terms of sending data to the database as UTF-8 check your driver parameters (normally on the URL string) and also database setting. You also need to take note of this section of the Servlet spec. We had to write a servlet filter to change our inbound form posts to the correct encoding for our database Cp1252. Request data encoding extract The default encoding of a request the container uses to create the request reader and parse POST data must be ISO-8859-1 if none has been specified by the client request. However, in order to indicate to the developer in this case the failure of the client to send a character encoding, the container returns null from the getCharacterEncoding method. If the client hasn't set character encoding and the request data is encoded with a different encoding than the default as described above, breakage can occur. To remedy this situation, a new method setCharacterEncoding(String enc) has been added to the ServletRequest interface. Developers can override the character encoding supplied by the container by calling this method. It must be called prior to parsing any post data or reading any input from the request. Hope this info gets you thinking, Allistair. > -----Original Message----- > From: Arnab Chakravarty [mailto:[EMAIL PROTECTED] > Sent: 01 December 2004 10:38 > To: Tomcat Users List > Subject: RE: UTF-8 Encoding in Jsp > > > Hi, > > Thanks for the reply but it did not work. May be I didn't explain the > problem correctly. > > I am running an application that supports all the languages > but only in > some specific places of the application and I have made those places > UTF-8 complaint. > > Further, they are being saved to Database (Oracle 9). When we are > reading the data back from the database, junk characters are displayed > on the screen. Yes, the database is set to support UTF-8 Encoding and > this is working with the old version of tomcat 3.3 and not > with current > upgraded version of tomcat 5.0 > > There are also places in the application where drop downs contain some > different language support and we can see those charsets (Japanese, > Chinese etc) appearing. Only, when I try to display on the screen > through the jsp file, I am encountering this problem of junk > characters > begin displayed. > > Hope I have set more context around the problem. Please help > me resolve > this issue. > > Thanks, > Arnab > > -----Original Message----- > From: Mariano [mailto:[EMAIL PROTECTED] > Sent: Wednesday, December 01, 2004 12:54 PM > To: 'Tomcat Users List' > Subject: RE: UTF-8 Encoding in Jsp > > You should use too: > > <head> > <META http-equiv="Content-Type" content="text/html; > charset=UTF-8"> > </head> > > and this scriptlet: > > request.setCharacterEncoding("UTF-8"); > > at the beginning. > > I hope this help you > > -----Mensaje original----- > De: Arnab Chakravarty [mailto:[EMAIL PROTECTED] > Enviado el: martes, 30 de noviembre de 2004 15:28 > Para: Tomcat Users List > Asunto: UTF-8 Encoding in Jsp > > > Hi all, > > I need to make my all jsp files compatible with UTF-8 > Encoding and even > though I am using the directives: > > <%@ page pageEncoding="UTF-8"%> > <%@ page contentType = "text/html;charset=UTF-8"%> > > in the jsp files, cannot make it work. > > Using tomcat version 5. Is there any config changes I need to make for > the UTF-8 Encoding to work. > > Please help. > > Thanks in advance, > Arnab > > --------------------------------------------------------------------- > 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] > > <FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLUE> ------------------------------------------------------- QAS Ltd. Developers of QuickAddress Software <a href="http://www.qas.com">www.qas.com</a> Registered in England: No 2582055 Registered in Australia: No 082 851 474 ------------------------------------------------------- </FONT> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]