Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么';甲骨文';s JDK(8、7和更低?)是否考虑了LC_*环境变量?_Java_Localization_Environment Variables - Fatal编程技术网

Java 为什么';甲骨文';s JDK(8、7和更低?)是否考虑了LC_*环境变量?

Java 为什么';甲骨文';s JDK(8、7和更低?)是否考虑了LC_*环境变量?,java,localization,environment-variables,Java,Localization,Environment Variables,此示例输出没有提供我所期望的有关区域设置的内容。。。虽然这是用Java8编译和运行的,但问题也出现在Java7上。这两个JDK都来自Oracle,完全修补了Ubuntu 13.10 fge@alustriel:/tmp$ locale LANG=en_US.UTF-8 LANGUAGE=en_US LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MO

此示例输出没有提供我所期望的有关区域设置的内容。。。虽然这是用Java8编译和运行的,但问题也出现在Java7上。这两个JDK都来自Oracle,完全修补了Ubuntu 13.10

fge@alustriel:/tmp$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
fge@alustriel:/tmp$ cat Main.java 
import java.nio.charset.Charset;

public final class Main
{
    public static void main(final String... args)
    {
        System.out.println(Charset.defaultCharset());
        System.out.println(System.getProperty("file.encoding", "UNKNOWN!"));
    }
}
fge@alustriel:/tmp$ javac Main.java
fge@alustriel:/tmp$ java Main
UTF-8
UTF-8
fge@alustriel:/tmp$ LC_ALL=fr_FR.ISO-8859-1 java Main
US-ASCII
ANSI_X3.4-1968

fr\u fr.ISO-8859-1
安装在我的系统上;那么,为什么默认字符集是US-ASCII?另外,
file.encoding
也被设置为ASCII,因为即使我的系统完全支持ISO-8859-1…

我猜它实际上没有安装。这就是当java无法确定语言环境时的行为。
locale-a
是否显示fr\u fr?你应该检查
user.language
user.country
属性,以确定它是否真的在学习法语,而不是
en_US.ASCII
@Petesh
locale-a
确实没有显示此区域设置,这真的很奇怪。。。我一定是把安装的方法弄糟了。。。