我对不同平台中的重音字符有疑问。
当我在我的机器上登录fedora(默认字符集为 UTF-8)时,它会正确打印为Sacré Coeur。
但是当我更新到另一个在RedHat上运行的服务器(默认字符集是 ISO-8859-1)时,它打印为
Sacré Coeur。
我想将它记录在 RedHat 服务器中,就像在我的 Fedora 机器上一样。我怎样才能做到这一点?
我的锻炼:
- 我试图改变 System.setProperty("file.encoding", "ISO-8859-1"); 在本地执行反向版本 System.setProperty("file.encoding", "UTF-8"); 在 RedHat Server 中,如果它改变了在本地的登录方式。但什么都没有改变。
- 我注意到有几个关于重音字符的线程,但没有回答我。这就是为什么我问了一个新问题。
我也试过这个,但没有用。
System.setProperty("file.encoding","ISO-8859-1"); Field charset =Charset.class.getDeclaredField("defaultCharset"); charset.setAccessible(true); charset.set(null,null);
- 但我没有尝试在 JVM 启动时设置字符集。如果可行,请解释我该怎么做?