Latest news! I find out that after removing resp.setContentType("text/html"); from the doPost() method everything starts working!!!
By reading servlet spec, I figure out that doFilter get called before Servlets' doPost() Serlet 2.3 spec about filtering: QUOTE When the container receives an incoming request, it takes the first filter instance in the list and calls its doFilter method, passing in the ServletRequest and ServletResponse, and a reference to the FilterChain object it will use. END QUOTE It still behaves a bit bifferent in IE (user can change encoding to something else) and Firefox (encoding will be forced to one that set by Filter) --- code -- public void doPost( HttpServletRequest req, HttpServletResponse resp ) throws IOException, ServletException { StringBuffer out; // doing something and out HTML output in out ( StringBuffer) ..... resp.setContentType("text/html"); // <=== do we need this line?? PrintWriter pw = resp.getWriter(); pw.println(out.toString()); } --- end code --- In all examples where HTML get generated by servlet I see this line: resp.setContentType("text/html"); In my case Filter sets Encoding. Can anybody confirm that resp.setContentType("text/html"); is not nessesary Thanks! Mark. --- "Frank W. Zammetti" <[EMAIL PROTECTED]> wrote: > Mark, have a look here: > > http://javawebparts.sourceforge.net/javadocs/javawebparts/filter/CharacterEncodingFilter.html > > Just added that to JWP last weekend :) It essentially calls > request.setCharacterEncoding() with whatever you configure. > > (Oops... ignore the description of the encodingScheme parameter... > just > realized I have a cut-and-paste error in the javadoc. D'oh!). > > -- > Frank W. Zammetti > Founder and Chief Software Architect > Omnytex Technologies > http://www.omnytex.com > AIM: fzammetti > Yahoo: fzammetti > MSN: [EMAIL PROTECTED] > > On Wed, October 12, 2005 10:53 am, Mark said: > > Hi everybody, > > I've got a request from my client to force an encoding in the > > browser, regardless what user have set. > > > > When I set encoding inside my filter to Windows-1257 in the HTML > > source code I see only ?s:??? ????? ???. > > > > Is there any easy way to enforce browser to set proper encoding? > > > > > > May be I need to setContent type after I obtain a writer in the > > servlet? > > Note, all outputs are generated by servlets: > > > > public void doPost( HttpServletRequest req, HttpServletResponse > resp > > ) > > throws IOException, ServletException > > { > > // do something > > resp.setContentType("text/html"); > > resp.getWriter().println(output); > > } > > > > > > In MyFilter.doFilter() I do following: > > > (HttpServletResponse)response).setContentType("text/html;charset=Windows-1257") > > > > I use 5.0.28 with Redhat 9. > > Any input is welcome. > > > > Thanks! > > Mark. > > > > > > > > > > __________________________________ > > Yahoo! Mail - PC Magazine Editors' Choice 2005 > > http://mail.yahoo.com > > > > > --------------------------------------------------------------------- > > 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] > > __________________________________ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]