【问题标题】:JVM property -Dfile.encoding=UTF8 or UTF-8?JVM 属性 -Dfile.encoding=UTF8 还是 UTF-8?
【发布时间】:2011-08-27 06:36:21
【问题描述】:

我想知道将我的文件编码设置为 UTF-8 的 Java 虚拟机 (JVM) 属性的值是多少。

我是输入-Dfile.encoding=UTF8 还是-Dfile.encoding=UTF-8

【问题讨论】:

    标签: file encoding utf-8 jvm


    【解决方案1】:

    会是:

    UTF8
    

    有关定义,请参阅here

    【讨论】:

    • 其实我已经看过这个页面了。但是,我不知道必须使用“java.nio API 的规范名称”还是“java.io 和 java.lang API 的规范名称”中的哪一个。
    • 两者都可以,但UTF-8 优于UTF8 - 唯一的标准格式。
    • 使用 Spring Boot 时尝试“UTF-8”。它适用于我的情况。
    • 这个答案说 UTF8 没有连字符 - 但是,这个答案的 cmets 建议使用连字符形式 UTF-8。不是很有帮助。
    • 我在您的链接中看不到任何东西可以证明您的断言“它将是 UTF8”。您可以根据该文档轻松声明“它将是 UTF-8”。你能解释一下为什么指定“UTF8”吗?
    【解决方案2】:

    UTF8 和 UTF-8 都适用于我。

    【讨论】:

      【解决方案3】:

      如果在您的语言环境建议使用 UTF-8(例如 LANG=en_US.utf8)的 Linux 平台上运行 Oracle HotSpot JDK 1.7.x,如果您没有在命令行中使用 -Dfile.encoding 设置它,则JDK 会默认file.encoding 和默认Charset 像这样:

      System.out.println(String.format("file.encoding: %s", System.getProperty("file.encoding")));
      System.out.println(String.format("defaultCharset: %s", Charset.defaultCharset().name()));
      

      ...产量:

      file.encoding: UTF-8
      defaultCharset: UTF-8
      

      ...建议在这样的平台上默认为UTF-8

      此外,如果java.nio.charset.Charset.defaultCharset() 找到file.encoding 未设置,它会查找java.nio.charset.Charset.forName("UTF-8"),这表明它更喜欢该字符串,尽管它具有良好的别名,因此“UTF8”也可以正常工作。

      如果您使用java -Dfile.encoding=UTF8 在同一平台上运行相同的程序,没有连字符,它会产生:

      file.encoding: UTF8
      defaultCharset: UTF-8
      

      ...注意默认字符集已从 UTF8 规范化为 UTF-8

      【讨论】:

        【解决方案4】:

        这不是一个直接的答案,但如果您无法访问 java 的启动方式,这将非常有用:您可以将环境变量 JAVA_TOOLS_OPTIONS 设置为 -Dfile.encoding="UTF-8",并且每次 jvm 启动时都会选择该选项.

        【讨论】:

          【解决方案5】:

          [INFO] BUILD SUCCESS
          Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
          无论如何,它对我有用:)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-02-25
            • 2019-10-08
            • 2018-09-07
            相关资源
            最近更新 更多