我想将我的JVM的默认语言环境设置为fr_CA.有什么可能的选择呢?
我只知道一个选项 Locale.setDefault()
我认为在_JAVA_OPTIONS和之间进行比较会很棒JAVA_TOOL_OPTIONS.我一直在寻找一个,但我找不到任何东西,所以我希望我们能在Stackoverflow上找到这方面的知识.
JAVA_OPTS包括完整性.它不是JVM的一部分,但在野外有很多问题.
到目前为止,我发现:
JAVA_OPTSJDK不使用它,而是由许多其他应用程序使用(请参阅此文章).JAVA_TOOL_OPTIONS并且_JAVA_OPTIONS是将JVM参数指定为环境变量而不是命令行参数的方法.
java和javac_JAVA_OPTIONS (覆盖其他人)JAVA_TOOL_OPTIONS (被其他人覆盖)JAVA_TOOL_OPTIONS和_JAVA_OPTIONSJAVA_TOOL_OPTIONS和之间是否存在任何其他差异_JAVA_OPTIONS(优先级除外).JAVA_TOOL_OPTIONS和_JAVA_OPTIONS(除了java和javac)JAVA_TOOL_OPTIONS和_JAVA_OPTIONS我找不到任何关于的文档_JAVA_OPTIONS.该文件JAVA_TOOL_OPTIONS没有说明差异:
由于无法始终访问或修改命令行,例如在嵌入式VM中或仅在脚本内深入启动的VM,因此提供了JAVA_TOOL_OPTIONS变量,以便在这些情况下可以启动代理.
...
这是我用来解决这个问题的代码.控制台输出包含在注释中:
export JAVA_OPTS=foobar
export JAVA_TOOL_OPTIONS=
export _JAVA_OPTIONS="-Xmx512m -Xms64m"
java -version
# Picked up JAVA_TOOL_OPTIONS:
# Picked up _JAVA_OPTIONS: -Xmx512m -Xms64m
# …Run Code Online (Sandbox Code Playgroud) 我刚刚安装了jre7,我很惊讶地看到我的默认语言环境现在是en_US.有了jre6,它就是de_CH.
与jre7有什么不同?默认语言环境不再是操作系统之一吗?(顺便说一句,我使用的是Windows7)
谢谢你的回答.
编辑:我已经看到Category.FORMAT的Locale 是"旧的"(de_CH).Category.DISPLAY的Locale 采用操作系统语言的语言(在Windows中,这是在控制面板>区域和语言>键盘和语言>显示语言中完成的)和来自...的contry?
似乎不同的是属性" user.country ".使用Java6,我得到"CH",而使用Java7,我得到"US".
我正在尝试将java.util.Calendar的默认firstDayOfWeek从SUNDAY更改为MONDAY.是否可以通过JVM配置实现此目的,而不是添加这段代码?
cal.setFirstDayOfWeek(Calendar.MONDAY);
Run Code Online (Sandbox Code Playgroud) (编辑澄清并添加一些代码)
您好,我们需要解析来自世界各地的用户发送的数据.我们的Linux系统具有en_US.UTF-8的默认语言环境.但是,我们经常会在名称中接收带有变音符号的文件,例如" special_á_ã_è_characters.doc".虽然操作系统可以很好地处理这些文件,并且一个strace显示操作系统将正确的文件名传递给Java程序,但Java会弹出名称并抛出"找不到文件"io异常试图打开它们.
这个简单的程序可以说明问题:
import java.io.*;
import java.text.*;
public class load_i18n
{
public static void main( String [] args ) {
File actual = new File(".");
for( File f : actual.listFiles()){
System.out.println( f.getName() );
}
}
}
Run Code Online (Sandbox Code Playgroud)
在包含该文件special_á_ã_è_characters.doc和默认美国英语语言环境的目录中运行此程序可以:
special_�_�_�_characters.doc
通过export LANG = es_ES @ UTF-8设置语言正确打印出文件名(但这是一个不可接受的解决方案,因为整个系统现在以西班牙语运行.)如下所示,在程序中明确设置Locale也没有效果.下面我修改了程序a)尝试打开文件,b)打开文件时打印出ASCII和字节数组中的名称:
import java.io.*;
import java.util.Locale;
import java.text.*;
public class load_i18n
{
public static void main( String [] args ) {
// Stream to read file
FileInputStream fin;
Locale locale = new …Run Code Online (Sandbox Code Playgroud) 我正在使用 Apache PDFBox 和 Java 来解析 PDF 并从中获取所有信息。提取文本仅适用于英语。对于其他语言,我只得到一些特殊字符。例如,提取阿拉伯字符 \xd8\xb4 将在打印时给出字符串 :"? 。当我将计算机的“区域和语言”从英语更改为阿拉伯语时,它工作正常。所以我认为提取字符的 Unicode将解决这个问题。请帮助我从 PDF 中获取字符的 Unicode 或建议我一些解决方案来解决这个问题。
\n我正在使用基于Stringtemplate4(ST)的ExcelExplorer处理Excel文件。这些文件包含带有日期的几列。默认情况下,日期以“ MM / dd / yy”日期格式呈现。
有没有一种方法可以将日期显示为“ dd / MM / yyyy”?
java -Duser.language = fr -Duser.country = FR -Duser.variant = UTF-8 ...
renderRow(row) ::= <<
<row.MyDate; format="dd/MM/yyyy">
>>
Run Code Online (Sandbox Code Playgroud)
尽管将MyDate属性定义为Date类型,但以上方法不起作用。我不想按照字符串模板电子邮件中的格式化日期中的建议,将MyDate定义为Java中的日期类型。
注意:检查后,我发现ExcelExporter / ST将MyDate属性定义为Date类型!
renderRow(row; format="dd/MM/yyyy") ::= <<
<row.MyDate>
>>
Run Code Online (Sandbox Code Playgroud)