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]

Reply via email to