markt 2005/05/05 13:52:37 Modified: catalina/src/share/org/apache/catalina/ssi ResponseIncludeWrapper.java SSIFilter.java Log: Improve the SSIFilter's handling of pages with non-default encoding. Revision Changes Path 1.7 +6 -2 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ssi/ResponseIncludeWrapper.java Index: ResponseIncludeWrapper.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ssi/ResponseIncludeWrapper.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ResponseIncludeWrapper.java 23 Apr 2005 10:22:37 -0000 1.6 +++ ResponseIncludeWrapper.java 5 May 2005 20:52:37 -0000 1.7 @@ -12,6 +12,7 @@ import java.io.IOException; +import java.io.OutputStreamWriter; import java.io.PrintWriter; import javax.servlet.ServletContext; @@ -94,7 +95,10 @@ public PrintWriter getWriter() throws java.io.IOException { if (servletOutputStream == null) { if (printWriter == null) { - printWriter = new PrintWriter(captureServletOutputStream); + setCharacterEncoding(getCharacterEncoding()); + printWriter = new PrintWriter( + new OutputStreamWriter(captureServletOutputStream, + getCharacterEncoding())); } return printWriter; } 1.2 +5 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ssi/SSIFilter.java Index: SSIFilter.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ssi/SSIFilter.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SSIFilter.java 5 May 2005 17:30:46 -0000 1.1 +++ SSIFilter.java 5 May 2005 20:52:37 -0000 1.2 @@ -133,21 +133,21 @@ // is this an allowed type for SSI processing? if (contentTypeRegEx.matcher(contentType).matches()) { + String encoding = res.getCharacterEncoding(); // set up SSI processing SSIExternalResolver ssiExternalResolver = new SSIServletExternalResolver(config.getServletContext(), req, - res, isVirtualWebappRelative, debug, - res.getCharacterEncoding()); + res, isVirtualWebappRelative, debug, encoding); SSIProcessor ssiProcessor = new SSIProcessor(ssiExternalResolver, debug); // prepare readers/writers Reader reader = - new InputStreamReader(new ByteArrayInputStream(bytes)); + new InputStreamReader(new ByteArrayInputStream(bytes), encoding); ByteArrayOutputStream ssiout = new ByteArrayOutputStream(); PrintWriter writer = - new PrintWriter(new OutputStreamWriter(ssiout)); + new PrintWriter(new OutputStreamWriter(ssiout, encoding)); // do SSI processing long lastModified = ssiProcessor.process(reader,
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]