Hi Alistair, I hope you find time to do your work.... more questions :)
Why should the IE client which is definitely reading/parsing as ISO-8859-15(i can see this in the IE menu bar), then post to the server converting the Euro to a questionmark . its rather stupid of IE isn't it, its definitely reading as ISO-8859-15 then posts anyway as ISO-8859-1 ? Could you explain in simple english, how the filter ensures that the request is in utf8 encoded. regards Ben p.s. greetings from germany. -----Urspr�ngliche Nachricht----- Von: Allistair Crossley [mailto:[EMAIL PROTECTED] Gesendet: Mittwoch, 1. September 2004 10:19 An: Tomcat Users List; [EMAIL PROTECTED] Betreff: RE: JSP/HTML Encoding The filter I sent you ensures that the "request" is encoded as UTF-8 which includes the euro character. When you are posting your forms with the euro character I believe your request is set to ISO-8859-1 and you lose the information, hence the ?. pageEncoding just sets the "response" encoding for the client and does not affect the other direction, i.e client => server. I am not sure if there is another setting where request character encoding can be set. Perhaps a more experienced Tomcat user knows this Cheers! > -----Original Message----- > From: Ben Bookey [mailto:[EMAIL PROTECTED] > Sent: 31 August 2004 17:06 > To: Allistair Crossley > Cc: Tomcat User List > Subject: AW: JSP/HTML Encoding > > > Hi Allistair > > +++ Many thanks for your help. +++ > > I apologise when I ask some stupid questions... > :) > > 1) I am not exactly sure what the benefit is, of seeing if > the client is > posting a utf8 encoded response ? Surely, the server controls > anyway what > encoding the html pages are in so if i post with Latin9 then > the client can > either read it or not. I guess this filter is useful in the > case that the > client browser doesnt support the character encoding > (something hopefully > similar) and posts the request in another character-code. The > filter can > then be used to see if this is happening or not ? > > > 2) I would assume that Tomcat( being java) would always use > either utf8 or > utf16 so making the necessity of setting a jvm tomcat > property unnecessary ? > > > > regards > Ben > > > > -----Urspr�ngliche Nachricht----- > Von: Allistair Crossley [mailto:[EMAIL PROTECTED] > Gesendet: Dienstag, 31. August 2004 17:32 > An: [EMAIL PROTECTED] > Betreff: RE: JSP/HTML Encoding > > > Hm, tell a lie Ben...I've just checked our startup options > and we don't seem > to do that anymore ... however if you were to do it .. > add -Dfile.encoding=utf8 > > rem Set extra parameters > "%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions > "-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOM > E%;-Djava.endo > rsed.dirs=%CATALINA_HOME%\common\endorsed";-Xrs;-Xms128m;-Xmx3 > 84m;-Duser.dir > =%CATALINA_HOME%;-Dfile.encoding=utf8 --StartMode jvm --StopMode jvm > > I think you just need to make sure you use utf8 at the UI. > Our databases are > all Windows Cp1252 which also include the euro symbol. > > I also forgot to mention we put an explicit filter on all > inbound requests > that set the inbound encoding to utf-8. Try adding this > filter to web.xml > > <filter> > <filter-name>Set Character Encoding</filter-name> > > <filter-class>com.qas.newmedia.common.filters.SetCharacterEnco > dingFilter</fi > lter-class> > <init-param> > <param-name>encoding</param-name> > <param-value>UTF-8</param-value> > </init-param> > </filter> > > with the code ... > > /* > * $Header: > /home/cvs/jakarta-tomcat-4.0/webapps/examples/WEB-INF/classes/ filters/SetCha > racterEncodingFilter.java,v 1.1 2001/07/24 00:26:55 craigmcc Exp $ > * $Revision: 1.1 $ > * $Date: 2001/07/24 00:26:55 $ > * > * > ==================================================================== > * > * The Apache Software License, Version 1.1 > * > * Copyright (c) 1999-2001 The Apache Software Foundation. All rights > * reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * > * 2. Redistributions in binary form must reproduce the above > copyright > * notice, this list of conditions and the following disclaimer in > * the documentation and/or other materials provided with the > * distribution. > * > * 3. The end-user documentation included with the redistribution, if > * any, must include the following acknowlegement: > * "This product includes software developed by the > * Apache Software Foundation (http://www.apache.org/)." > * Alternately, this acknowlegement may appear in the > software itself, > * if and wherever such third-party acknowlegements > normally appear. > * > * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software > * Foundation" must not be used to endorse or promote > products derived > * from this software without prior written permission. For written > * permission, please contact [EMAIL PROTECTED] > * > * 5. Products derived from this software may not be called "Apache" > * nor may "Apache" appear in their names without prior written > * permission of the Apache Group. > * > * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED > * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES > * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE > * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR > * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, > * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT > * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF > * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND > * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, > * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT > * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > * > ==================================================================== > * > * This software consists of voluntary contributions made by many > * individuals on behalf of the Apache Software Foundation. For more > * information on the Apache Software Foundation, please see > * <http://www.apache.org/>. > * > * [Additional notices, if required by prior licensing conditions] > * > */ > > > package com.qas.newmedia.common.filters; > > > import java.io.IOException; > import javax.servlet.Filter; > import javax.servlet.FilterChain; > import javax.servlet.FilterConfig; > import javax.servlet.ServletException; > import javax.servlet.ServletRequest; > import javax.servlet.ServletResponse; > > > /** > * Example filter that unconditionally sets the character > encoding to be > used > * in parsing the incoming request to a value specified by the > * <strong>encoding</string> filter initialization parameter > in the web app > * deployment descriptor (</code>/WEB-INF/web.xml</code>). > This filter > could > * easily be extended to be more intelligent about what > character encoding > to > * set, based on characteristics of the incoming request > (such as the values > * of the <code>Accept-Language</code> and > <code>User-Agent</code> headers, > * or a value stashed in the current user's session). > * > * @author Craig McClanahan > * @version $Revision: 1.1 $ $Date: 2001/07/24 00:26:55 $ > */ > > public class SetCharacterEncodingFilter implements Filter { > > > // ----------------------------------------------------- Instance > Variables > > > /** > * The default character encoding to set for requests > that pass through > * this filter. > */ > protected String encoding = null; > > > /** > * The filter configuration object we are associated > with. If this > value > * is null, this filter instance is not currently configured. > */ > protected FilterConfig filterConfig = null; > > > // > --------------------------------------------------------- Public > Methods > > > /** > * Take this filter out of service. > */ > public void destroy() { > > this.encoding = null; > this.filterConfig = null; > > } > > > /** > * Select and set (if specified) the character encoding > to be used to > * interpret request parameters for this request. > * > * @param request The servlet request we are processing > * @param result The servlet response we are creating > * @param chain The filter chain we are processing > * > * @exception IOException if an input/output error occurs > * @exception ServletException if a servlet error occurs > */ > public void doFilter(ServletRequest request, > ServletResponse response, > FilterChain chain) > throws IOException, ServletException { > > // Select and set (if needed) the character encoding > to be used > String encoding = selectEncoding(request); > if (encoding != null) > request.setCharacterEncoding(encoding); > > // Pass control on to the next filter > chain.doFilter(request, response); > > } > > > /** > * Place this filter into service. > * > * @param filterConfig The filter configuration object > */ > public void init(FilterConfig filterConfig) throws > ServletException { > > this.filterConfig = filterConfig; > this.encoding = filterConfig.getInitParameter("encoding"); > > } > > > // ------------------------------------------------------ > Protected > Methods > > > /** > * Select an appropriate character encoding to be used, > based on the > * characteristics of the current request and/or filter > initialization > * parameters. If no character encoding should be set, return > * <code>null</code>. > * <p> > * The default implementation unconditionally returns the value > configured > * by the <strong>encoding</strong> initialization > parameter for this > * filter. > * > * @param request The servlet request we are processing > */ > protected String selectEncoding(ServletRequest request) { > > return (this.encoding); > > } > > > } > > > ADC > > > -----Original Message----- > > From: Ben Bookey [mailto:[EMAIL PROTECTED] > > Sent: 31 August 2004 16:28 > > To: Allistair Crossley; Tomcat Users List > > Subject: AW: JSP/HTML Encoding > > > > > > Hi Allistair, > > > > Where can I set this JVM property exactly ? > > Thanks in advance. > > Ben > > p.s. I am beginning to think that my problem is associated > > with working with > > HTML framesets(with possible mixtures of html encoding). > > > > -----Urspr�ngliche Nachricht----- > > Von: Allistair Crossley [mailto:[EMAIL PROTECTED] > > Gesendet: Dienstag, 31. August 2004 17:08 > > An: Tomcat Users List; [EMAIL PROTECTED] > > Betreff: RE: JSP/HTML Encoding > > > > > > make sure also that you set file.encoding=utf8 in tomcat's > > startup options > > so that the jvm also operates in that mode. > > > > ADC > > > > > -----Original Message----- > > > From: Ben Bookey [mailto:[EMAIL PROTECTED] > > > Sent: 31 August 2004 16:00 > > > To: Tomcat User List > > > Subject: JSP/HTML Encoding > > > > > > > > > > > > > > > Dear List, > > > > > > I am having unexpected results when setting the encoding of my > > > inputForm.jsp, to iso-8859-15 (changing from > > > iso-8859-15 to iso-8859-1 will allow me to use the Euro > > > symbol and a few > > > others). When i give a Euro symbol into a form input control, > > > the client > > > ends up saving a question-mark instead, which is exactly what > > > happens then I > > > leave the standard iso-8859-1 encoding(the jsp default). I am > > > using Tomcat 5 > > > and Internet Explorer 6.x which supports charset=iso-8859-15. > > > > > > Here is my jsp page header attributes. > > > > > > <%@ page language="java" errorPage="myErrorPage.jsp" > > > pageEncoding="iso-8859-15" contentType="text/html; > > > charset=iso-8859-15"%> > > > > > > If by setting the above jsp attributes, do I still need to > > > set (inside the > > > <html><head> tag) like this ? > > > > > > <meta http-equiv="Content-Type" content="text/html; > > > charset=iso-8859-15"/> > > > > > > Another factor which might be affecting the encoding of my > > > input form, is > > > that its a page within a frameset, and it could be that the > > > parent frame > > > HTML page might be incorrectly pre-determining the encoding > > > of the whole > > > frameset overriding the child frame settings. > > > > > > > > > kind regards, > > > Ben Bookey > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > 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] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
