<html><body><div dir="ltr"><div>
  
  
  
    </div><div><div>
        
        <div>The alternative is to specify the charset you want to use in code explicitely and no longer rely on a platform encoding since it made all kinds of problems for being configurable and therefore intentionally removed.</div><div dir="ltr"><br></div><div dir="ltr">Gruss</div><div dir="ltr">Bernd</div><div id="ms-outlook-mobile-signature"><div style="direction:ltr">-- </div><div style="direction:ltr">http://bernd.eckenfels.net</div></div>
    </div>
  

<div> </div><hr style="display:inline-block;width:98%" tabindex="-1"><div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif"><b>Von:</b> core-libs-dev <core-libs-dev-retn@openjdk.org> im Auftrag von Ichiroh Takiguchi <itakiguchi@openjdk.org><br><b>Gesendet:</b> Montag, Januar 23, 2023 12:46 AM<br><b>An:</b> core-libs-dev@openjdk.org <core-libs-dev@openjdk.org><br><b>Betreff:</b> Re: RFR: 8300819: -Dfileencoding=Cp943C option does not work as expected since jdk18 [v2]<div> </div></font></div>On Sun, 22 Jan 2023 23:17:10 GMT, Ichiroh Takiguchi <itakiguchi@openjdk.org> wrote:
<br>
<br>>> On jdk17, following testcase works fine on Linux platform.
<br>>> 
<br>>> Testcase
<br>>> 
<br>>> $ cat cstest1.java
<br>>> import java.nio.charset.*;
<br>>> 
<br>>> public class cstest1 {
<br>>>   public static void main(String[] args) throws Exception {
<br>>>     Charset cs = Charset.defaultCharset();
<br>>>     System.out.println(cs + ", " + cs.getClass() + ", " + cs.getClass().getModule());
<br>>>   }
<br>>> }
<br>>> 
<br>>> 
<br>>> $ ~/jdk-17.0.6+10/bin/java -Dfile.encoding=Cp943C -showversion cstest1
<br>>> openjdk version "17.0.6" 2023-01-17
<br>>> OpenJDK Runtime Environment Temurin-17.0.6+10 (build 17.0.6+10)
<br>>> OpenJDK 64-Bit Server VM Temurin-17.0.6+10 (build 17.0.6+10, mixed mode, sharing)
<br>>> x-IBM943C, class sun.nio.cs.ext.IBM943C, module jdk.charsets
<br>>> 
<br>>> 
<br>>> But it does not work as expected on jdk18 and jdk21b06
<br>>> 
<br>>> $ ~/jdk-18.0.2.1+1/bin/java -Dfile.encoding=Cp943C -showversion cstest1
<br>>> openjdk version "18.0.2.1" 2022-08-18
<br>>> OpenJDK Runtime Environment Temurin-18.0.2.1+1 (build 18.0.2.1+1)
<br>>> OpenJDK 64-Bit Server VM Temurin-18.0.2.1+1 (build 18.0.2.1+1, mixed mode, sharing)
<br>>> UTF-8, class sun.nio.cs.UTF_8, module java.base
<br>>> $ ~/jdk-21/bin/java -Dfile.encoding=Cp943C -showversion cstest1
<br>>> openjdk version "21-ea" 2023-09-19
<br>>> OpenJDK Runtime Environment (build 21-ea+6-365)
<br>>> OpenJDK 64-Bit Server VM (build 21-ea+6-365, mixed mode, sharing)
<br>>> UTF-8, class sun.nio.cs.UTF_8, module java.base
<br>>> 
<br>>> 
<br>>> Fixed result is as follows:
<br>>> 
<br>>> $ java -Dfile.encoding=Cp943C -showversion PrintDefaultCharset
<br>>> openjdk version "21-internal" 2023-09-19
<br>>> OpenJDK Runtime Environment (build 21-internal-adhoc.jdktest.jdk)
<br>>> OpenJDK 64-Bit Server VM (build 21-internal-adhoc.jdktest.jdk, mixed mode, sharing)
<br>>> x-IBM943C
<br>>
<br>> Ichiroh Takiguchi has updated the pull request incrementally with one additional commit since the last revision:
<br>> 
<br>>   8300819: -Dfile.encoding=Cp943C option does not work as expected since jdk18
<br>
<br>First, Sorry I forgot to change Copyright date.
<br>
<br>@AlanBateman , I appreciate your reply.
<br>In my understanding,
<br>
<br>- io stream side can use native.encoding system property.
<br>- Now file.encoding system property is used for non-io stream.
<br>
<br>This issue is related #11908 .
<br>I need a solution to use the Cp943C charset as default charset.
<br>Please give me some suggestion.
<br>
<br>-------------
<br>
<br>PR: https://git.openjdk.org/jdk/pull/12132
<br>
<br></div></div></body></html>