You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Oliver Schmitz-Hennemann (JIRA)" <ji...@codehaus.org> on 2011/04/20 11:42:22 UTC

[jira] Updated: (MCHANGES-236) output encoding not used for writing changes-report.html file

     [ http://jira.codehaus.org/browse/MCHANGES-236?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Oliver Schmitz-Hennemann updated MCHANGES-236:
----------------------------------------------

    Attachment: changes-encoding-patch.txt
                Bildschirmfoto 2011-04-20 um 11.16.01.png

Screenshot of wrong output in safari on german mac and patch with supposed change.

> output encoding not used for writing changes-report.html file
> -------------------------------------------------------------
>
>                 Key: MCHANGES-236
>                 URL: http://jira.codehaus.org/browse/MCHANGES-236
>             Project: Maven 2.x Changes Plugin
>          Issue Type: Bug
>          Components: changes.xml
>    Affects Versions: 2.4
>         Environment: found on mac OS
>            Reporter: Oliver Schmitz-Hennemann
>         Attachments: Bildschirmfoto 2011-04-20 um 11.16.01.png, changes-encoding-patch.txt
>
>
> Writing Java Strings to changes-report.html file ignores outputEncoding and uses system default encoding instead. 
> Details: 
> org/apache/maven/plugin/changes/AbstractChangesReport.java uses a FileWriter, which uses the default encoding of the environment instead of the configured output encoding for writing strings to the file. 
> This creates some problems with german umlaut characters on my mac for example, because the environment default is not utf-8 but mac-OS roman.
> The content type header of the html file claims utf-8, thus some characters are invalid. 
> This may also be related to MCHANGES-168, where there is a problem with greek characters.
> From the javadoc of FileWriter : 
>  * Convenience class for writing character files.  The constructors of this
>  * class assume that the default character encoding and the default byte-buffer
>  * size are acceptable.  To specify these values yourself, construct an
>  * OutputStreamWriter on a FileOutputStream.
> To Reproduce, run the changes plugin with the changes.xml file under src/test/unit with a german locale on a german mac with current java-developer package. Opening this file in safari leads to the attached result. 
> Supposed Fix: use the specified output Encoding also for writing to the file 
> change line 188 : from 
>  
>             Writer writer = new FileWriter( new File( outputDirectory, getOutputName() + ".html" ) );
> To 
>       File file = new File(outputDirectory, getOutputName() + ".html");
>       Writer writer = new OutputStreamWriter(new FileOutputStream(file), getOutputEncoding());
> That worked fine on mac and linux.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira