java - Java 中的 file.encoding 系统属性在不同的 JVM 实例中给出不同的结果

标签 java tomcat utf-8 jvm java-7

我在 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/

相关文章:

java - 如何防止独立 Java webapp 服务器上的热链接?

Apache 重写导致两个请求

PHP导出到excel不显示UTF-8

java - Spring Rest Doc 不生成 html

java - 如何设置JFreeChart YAxis直方图最大值?

java - ANDROID:MediaPlayer 显示错误 (1, -19)

spring - 将 OSB 转换为 Camel/Spring

java - 同一台机器上不同项目中的控制台输出不正确

node.js - 使用正则表达式捕获utf-8格式的日期

java - 序列化嵌套的 JSON 数组