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_HOME%;-Djava.endo rsed.dirs=%CATALINA_HOME%\common\endorsed";-Xrs;-Xms128m;-Xmx384m;-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.SetCharacterEncodingFilter</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]
