gpt4 book ai didi

java - java下定义不同平台的重音字符

转载 作者:行者123 更新时间:2023-12-01 14:47:52 24 4
gpt4 key购买 nike

我在不同平台上遇到重音字符问题。

当我在 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");在红帽中服务器,如果改变本地的登录方式。但什么也没有改变了。
  • 我注意到有几个关于重音字符的线程但什么也回答不了我。这就是我提出新问题的原因。
  • 我试过 this one也可以,但不起作用。

    System.setProperty("file.encoding","ISO-8859-1");
    字段字符集 =Charset.class.getDeclaredField("defaultCharset");
    charset.setAccessible(true);
    charset.set(null,null);

  • 但我没有尝试在 JVM 启动时设置字符集。如果可行,请解释一下我该怎么做?

最佳答案

从所有环境中获得相似的输出,而不依赖于服务器操作系统默认字符编码,启动程序或服务器环境(Jboss tomcat或jetty)时传递-Dfile.encoding到启动脚本

(假设jboss中的run.sh,将-Dfile.encoding=UTF-8添加到JAVA_OPTS)

-Dfile.encoding=UTF-8

关于java - java下定义不同平台的重音字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15236836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com