Bug 29836 - Problems with EBCDIC host
Summary: Problems with EBCDIC host
Status: RESOLVED DUPLICATE of bug 29091
Alias: None
Product: Tomcat 5
Classification: Unclassified
Component: Webapps:Administration (show other bugs)
Version: 5.0.25
Hardware: Other other
: P3 normal (vote)
Target Milestone: ---
Assignee: Tomcat Developers Mailing List
URL: http://127.0.0.1:8080/admin/index.jsp
Keywords:
Depends on:
Blocks:
 
Reported: 2004-06-28 10:02 UTC by Dirk Schwartzkopff
Modified: 2004-11-16 19:05 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk Schwartzkopff 2004-06-28 10:02:59 UTC
Platform: IBM mainframe zSeries
OS: z/OS 1.4
Tomcat Version 4.1.30, 5.0.25
URLEncoder uses EBCDIC (the platform encoding) to translate the characters. The
result is
http://127.0.0.1/admin/users/listRoles.do?databaseName=Users%7Atype%7EUserDatabase%6Bdatabase%7EUserDatabase&forward=Roles+List+Setup
instead of
http://127.0.0.1/admin/users/listRoles.do?databaseName=Users%3Atype%3DUserDatabase%2Cdatabase%3DUserDatabase&forward=Roles+List+Setup

Bill Barker sended me the following email regarding this problem:
Looking at the admin webapp, is seems that it is using java.net.URLEncoder
instead of o.a.c.u.URLEncoder.  The javadocs for the java.net class say that it
has exactly the problem that you are describing (i.e. it uses the platform
encoding).  
 
The fix is to either use java.net.URLEncoder.encode(..., "utf8") (with the
downside that the admin webapp can't be used with a 1.3 JVM), or to use
o.a.c.u.URLEncoder as a Bean (since the encode method isn't static).  In either
case, I guess you get to open a new bug report for this :).
Comment 1 Yoav Shapira 2004-07-28 17:01:47 UTC
The Admin webapp uses URLEncoder.encode in many many places ;(  It's not a one-
line switch.  And for now we must stay compatible with JDK 1.3, so we should 
use o.a.c.u.URLEncoder as a bean.
Comment 2 Yoav Shapira 2004-07-30 14:35:59 UTC
Same issue, the encoding of the admin webapp.  It needs to be i18n'ed 
properly.  URLEncoder is all over the place.  Tomcat 5.5 will address this in 
the new persistence mechanism.

*** This bug has been marked as a duplicate of 29091 ***