You should be able to do this although I have never tried. Depending on your
version of tomcat, you may need to adjust a few settings. See below.

Mark

REQUESTS
========

There are a number of situations where there may be a requirement to use non-US
ASCII characters in a URI. These include:
- Parameters in the query string
- Servlet paths

There is a standard for encoding URIs
(http://www.w3.org/International/O-URL-code.html) but this standard is not
consistently followed by clients. This causes a number of problems.

The functionality provided by Tomcat (4 and 5) to handle this less than ideal
situation is described below.

1. The Coyote HTTP/1.1 connector has a useBodyEncodingForURI attribute which if
set to true will use the request body encoding to decode the URI query
parameters.
  - The default value is true for TC4 (breaks spec but gives consistent
behaviour across TC4 versions)
  - The default value is false for TC5 (spec compliant but there may be
migration issues for some apps)
2. The Coyote HTTP/1.1 connector has a URIEncoding attribute which defaults to
ISO-8859-1.
3. The parameters class (o.a.t.u.http.Parameters) has a QueryStringEncoding
field which defaults to the URIEncoding. It must be set before the parameters
are parsed to have an effect.

Things to note regarding the servlet API:
1. HttpServletRequest.setCharacterEncoding() normally only applies to the
request body NOT the URI.
2. HttpServletRequest.getPathInfo() is decoded by the web container.
3. HttpServletRequest.getRequestURI() is not decoded by container.

Other tips:
1. Use POST with forms to return parameters as the parameters are then part of
the request body.


RESPONSES
=========

HTML META
 tags are ignored by Tomcat. You may use <%@ page pagEncoding="..." %> for JSPs.


> -----Original Message-----
> From: guy katz [mailto:[EMAIL PROTECTED] 
> Sent: Monday, August 09, 2004 3:11 PM
> To: [EMAIL PROTECTED]
> Subject: form-based login username and password encoding issue
> 
> hi all;
> 
> in my application, i let my users register to my site (with 
> username, password , etc.. ), when they do i programatically 
> take their username and password and move it to the 
> authentication tables of the datasource realm so they can 
> authenticate. i am using form-basd login.
> 
> problem is that when a user enters a username ans password 
> characters that are not western europian, the authentication 
> process fails.
> 
> is this a constraint of the fact that the user and password 
> are sent as parameters in the URL? (j_user, ...).
> 
> are the parameters in the URL not encoded as UTF-8? can i 
> control this?
> 
> thanks in advance.
> 
> _____________________
> 
> 



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

Reply via email to