UTF-8 is used because it's recommended in the URLEncoder javadoc: http://java.sun.com/j2se/1.4.2/docs/api/java/net/URLEncoder.html
David --- yasuhiko yoshikawa <[EMAIL PROTECTED]> wrote: > > I do not think always passing UTF-8 as character encoding type is right > behavior. As far as I can tell, there is no such requirement to > mandate(or > even recommend) UTF-8 as character encoding type in the HTML4 > specification (and relevant RFCs). > > A while ago, I submitted a patch that enables the encoder to take > character encoding name as second parameter. I see no reason why the > character encoding is done with UTF-8. > > Using UTF-8 as character encoding type works only if the html documents > sent from the application are encoded in UTF-8, but many i18n > applications use 'native' character encodings (like Shift_JIS, Big5, > EUC-KR > etc) instead, for variety of reasons. > > The issue was recently discussed on the mailing list of Japanese > struts user's. And we found that, for example, html:link tag's > parameter populating functionality has been unusable for many of us > because it ignores the response's character encoding and uses UTF-8 to > get the bytes for url encoding. > > > > > --- Robert Leland <[EMAIL PROTECTED]> wrote: > > > Pierre Maury wrote: > > > The patch would need to be usable with different encoding types. > > > > Why? The Java 1.3 version doesn't accept an encoding type and we > always > > pass UTF-8 to the 1.4 version. > > > > > This memory storage seems like a small price to pay for the > improvement, > > > but I would like to hear from other commiters. > > > > I'm not a big fan of this because there are much bigger performance > > optimizations to be had in other layers of a Struts app but I won't > stop > > anyone from applying a clear and *tested* optimization. > > > > David > > > > > > > > -Rob > > > > > > >Hi, > > > > > > > >I think there is a performance issue with > > > >org.apache.struts.taglib.TagUtils.encodeURL(String). > > > > > > > >Attached to this mail, four java classes that demonstrate and solve > the > > > >problem. You may run EncoderTest to compare the timings of the > original > > > >struts code with a faster encoder. > > > > > > > >On my computer encodeURL takes about 0.2ms. This does not look like > a > > > big > > > >issue, but encodeURL is called by computeUrl for each parameter > name > > > and > > > >each parameter value. The web site I'm working on displays products > > > lists. > > > >There an average 3 links per product and 20 products per page + 20 > > > other > > > >links. Each of this links takes four parameters. > > > > > > > >Total encodeURL time per page amounts to : (3*20+20)*(4*2)*0.2 = > 128ms > > > ! > > > >At the same time, the struts action + the JSP page takes about > 200ms. > > > > > > > >The attached encoder is at least 50 times faster. By using this > encoder > > > on > > > >my application, the troughput was greatly improved. > > > > > > > >If you are interrested, I can submit a patch > > > > > > > > > > > >Pierre Maury > > > > > > > > > > > > > > >------------------------------------------------------------------------ > > > > > > > > >--------------------------------------------------------------------- > > > >To unsubscribe, e-mail: [EMAIL PROTECTED] > > > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > __________________________________ > > Do you Yahoo!? > > Free Pop-Up Blocker - Get it now > > http://companion.yahoo.com/ > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > ------------------- > Yasuhiko Sakakibara > [EMAIL PROTECTED] > [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > __________________________________ Do you Yahoo!? Free Pop-Up Blocker - Get it now http://companion.yahoo.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]