Evgeny Gesin wrote:
I just tried these configuration parameters, except
QueryStringEncoding which I cannot find in Tomcat docs
for server.xml (I don't use Tomcat API) without much
luck.

At least the bug indicates that problem exists and
POST is a quick solution.

But I want to hear, if I move to Tomcat 5 (currently
run 4.1), will that solve the problem ?

Ah, I believe what I said is true for recent versions of both Tomcat 5 and Tomcat 4. With regards to "solving the problem", see the bug report description: either use POST instead of GET, or set the configuration flags (the docs may not have been updated to describe them yet).

Hans

--- Hans Bergsten <[EMAIL PROTECTED]> wrote:

Evgeny Gesin wrote:

Hi,
I will provide a little more information, may be

that


will be important.

1. I use an in-house developed Tiles, similar to
Struts, so each page is make up of of dinamically
included pages, for example, header, content and
footer JSPs.

2. I use only i18n from JSTL package, so web.xml

have


a single declaration for that JSTL library as

below


<taglib>
<taglib-uri>fmt</taglib-uri>


<taglib-location>/WEB-INF/tld/fmt-1_0-rt.tld</taglib-location>

</taglib>

3. A "wrapper" Tile page declares
<%@ page language="java" contentType="text/html;
charset=UTF-8" %>

4. A "template" Tile page declares
<META HTTP-EQUIV="content-type"

CONTENT="text/html;


charset=UTF-8" />

5. Each "included" JSP page has these lines

<%@ taglib uri='fmt' prefix='fmt' %>
<jsp:useBean id="locale" scope="session"
class="java.util.Locale" />
<fmt:setLocale value="<%= locale %>" />
<fmt:bundle basename="bundle">
<TABLE>
 <fmt:message key="header" />
 <FORM ACTION="anAction" METHOD=GET>
... <-- here are all JSP/HTML tags
 </FORM>
</TABLE>
</fmt:bundle>

JSP may also use <fmt:> to format numbers and
currencies. Please ask if you need more

information.


You can visit http://www.javadesk.com and see that

all


pages are UTF-8 encoded.

A characterEncodingFilter sets encoding

request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;

charset=UTF-8");


Now, if I submit the above web page, all UTF-8

encoded


data became gibberish. If I replace

<FORM ACTION="anAction" METHOD=GET>
with
<FORM ACTION="anAction" METHOD=POST>

everything works fine. What is wrong ?

Tomcat 5 doesn't use the encoding you set with setCharacterEncoding() for query string parameters, only for parameters in a POST body:

<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12253>


Hans


--
Hans Bergsten                                <[EMAIL PROTECTED]>
Gefion Software                       <http://www.gefionsoftware.com/>
Author of O'Reilly's "JavaServer Pages", covering JSP 2.0 and JSTL 1.1
Details at                                    <http://TheJSPBook.com/>


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



Reply via email to