Hello Martin,

Martin Kuba wrote:
>
> Bill Burton wrote:
> > How do I correctly handle the parsing of the query string and form input
> > such that req.getParameter will return the contents appropriately converted
> > from a native character encoding such as Shift_JIS to Unicode?
> >
> > Unless I'm missing something, it appears the 2.x Servlet API doesn't provide
> > a way to indicate what character encoding should be used when parsing the
> > query string and form input.
>
> javax.servlet.ServletRequest.getCharacterEncoding() gives you
> encoding of input data. But HTTP protocol has no standard way of
> specifying encoding of data sent from browser to server,
> so it will ALWAYS give ISO-8859-1. I think this is an error
> in design of HTTP protocol.

I agree.  AFAIK, in HTTP 1.1 this isn't fixed either.  There is no reason
the Servlet API should be broken just because HTTP is broken.  If a
ServletRequest.setCharacterEncoding method was added to the Servlet API, it
could be called from the servlet prior to any calls to request.getParameter
which would allow the built in parameter support to work for any character
encoding.

> So the only way how you can handle it is:
>
> new String(request.getParameter("par").getBytes(request.getCharacterEncoding()), 
>"JISAutoDetect");

Thanks, this is very helpful.

-Bill

> Martin
>
> --
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    INET, a.s.                          Mgr. Martin Kuba
> Kralovopolska 139                  e-mail: [EMAIL PROTECTED]
>   601 12 Brno                      WWW: http://www.inet.cz/~makub/
>  Czech Republic                    tel: +420-5-41242414/33
> --------------------------------------------------------------------
> PGP fingerprint = D8 57 47 E5 36 D2 C1 A1  C3 48 B2 59 00 58 42 27
>  http://wwwkeys.cz.pgp.net:11371/pks/lookup?op=index&search=makub
> --------------------------------------------------------------------

--
Bill Burton <[EMAIL PROTECTED]>
Progress Software Corporation, Bedford, Mass. USA

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to