我在 Centos 6.6 上运行 Java 7。我在显示 UTF-8
的独立 tomcat 服务器实例中检查了 file.encoding
系统属性。我在它显示 ANSI_X3.4-1968
的嵌入式 tomcat 中检查了相同的内容。这两个实例都没有为 file.encoding
使用任何命令行参数。
神秘的是为什么 JVM 只在嵌入式 tomcat 中推断 ANSI_X3.4-1968
?在所有其他情况下,它会根据我的区域设置正确推断出 UTF-8
。
最佳答案
Java(不是 Tomcat)会自动设置 file.encoding
如果它没有在命令行中给出。它将使用环境变量,如 locale
来制定适当的设置。
例如,我的语言环境是 en_GB.UTF-8
,所以我的 file.encoding 被解析为 UTF-8
。
“嵌入式”实例可能没有获得完整的环境上下文,因此无法达到与独立实例相同的设置。
有关嵌入式实例的更多信息可能有助于阐明更多信息。
关于java - Java 中的 file.encoding 系统属性在不同的 JVM 实例中给出不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35438659/