DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24908>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24908 ResponseFilter does not handle UTF-8 encoded characters with &# Summary: ResponseFilter does not handle UTF-8 encoded characters with &# Product: Struts Version: 1.1 Final Platform: All OS/Version: All Status: NEW Severity: Normal Priority: Other Component: Utilities AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] If I have a UTF-8 encoded character like "堂" (堂, a building in Traditional Chinese) and use this value in an html tag (e.g. html:text), the '&' is encoded to "&", which produces output that looks like "&#22530;" The filter method should "look ahead" when it goes into the '&' case and if the following char is '#', it should not modify the '&' char. The filter method from ResponseUtils with a suggested change: for (int i = 0; i < content.length; i++) { switch (content[i]) { case '<': result.append("<"); break; case '>': result.append(">"); break; case '&': ---> if (content[i + 1] != '#') ---> result.append("&"); ---> else result.append("&"); break; case '"': result.append("""); break; case '\'': result.append("'"); break; default: result.append(content[i]); } } This probably needs a minor adjustment, as this doesn't handle the case where the '&' char is the last character in the String (bounds check) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]