Hi, We were not setting the encoding name in the new 1.5 OutputStreamWriter methods as pointed out in the bug report. We were already doing it in the InputStreamReader class so I replicated that logic here.
2006-11-08 Mark Wielaard <[EMAIL PROTECTED]> Fixes bug #29754 * java/io/OutputStreamWriter.java (OutputStreamWriter(OutputStream,Charset)): Set encodingName. (OutputStreamWriter(OutputStream,CharsetEncoder)): Likewise. Committed, Mark
Index: java/io/OutputStreamWriter.java =================================================================== RCS file: /cvsroot/classpath/classpath/java/io/OutputStreamWriter.java,v retrieving revision 1.21 diff -u -r1.21 OutputStreamWriter.java --- java/io/OutputStreamWriter.java 4 Jan 2006 00:11:33 -0000 1.21 +++ java/io/OutputStreamWriter.java 8 Nov 2006 16:53:54 -0000 @@ -223,6 +223,7 @@ encoder.onMalformedInput(CodingErrorAction.REPLACE); encoder.onUnmappableCharacter(CodingErrorAction.REPLACE); outputBuffer = CharBuffer.allocate(BUFFER_SIZE); + encodingName = EncodingHelper.getOldCanonical(cs.name()); } /** @@ -240,6 +241,11 @@ this.out = out; encoder = enc; outputBuffer = CharBuffer.allocate(BUFFER_SIZE); + Charset cs = enc.charset(); + if (cs == null) + encodingName = "US-ASCII"; + else + encodingName = EncodingHelper.getOldCanonical(cs.name()); } /**