【问题标题】:How to set the JVM charset on the command line?如何在命令行上设置 JVM 字符集?
【发布时间】:2012-06-09 01:45:56
【问题描述】:

设置JVM字符集的命令是什么?

(另外,查看当前JVM字符集的命令是什么,所以我知道如何在我完成后将其重置为默认值)

谢谢,

【问题讨论】:

    标签: java character-encoding jvm


    【解决方案1】:

    Java 字符串在内部始终是 UTF-16 (javadoc link),但您可以使用 -Dfile.encoding=UTF-8 来方便读取具有默认字符集的文件。

    只需确保在您设置该文件集时 Java 可以访问该文件集,否则它将无法启动。

    【讨论】:

    • 完整的命令是什么?我正在运行一些 Maven 单元测试。所以mvn -Dtest=MyTest -Dfile.encoding=UTF-8 test?这看起来不太对,是吗?
    • @OneTwoThree 我觉得不错。
    • 我尝试了将字符集设置为 latin1 的命令,但没有成功。字符集仍然是 UTF-16
    • 存储在内部变量中时java的字符串编码将始终为utf-16:docs.oracle.com/javase/6/docs/api/java/lang/String.html,所有编码都是帮助java从文件或输入流中读取二进制文件并将其转换为utf- 16.
    【解决方案2】:

    java.nio.charset.Charset.defaultCharset() 将为您获取 JVM 的默认字符集。

    【讨论】:

    • 但这不是问题。
    猜你喜欢
    • 2010-10-15
    • 1970-01-01
    • 2014-03-10
    • 2020-08-21
    • 2011-10-30
    • 1970-01-01
    • 2021-09-19
    • 2014-01-30
    • 2015-03-02
    相关资源
    最近更新 更多