Gle*_*iet 6 java localization internationalization
我想要做的很简单:
String example = "??????? ?????? ????? ?????? ?? - Mary Had A Little Lamb";
String upper = example.toUpperCase();
Run Code Online (Sandbox Code Playgroud)
在希腊语中,只有大写单词的第一个字母应包含重音字符.
// upper contains the following (incorrect) string:
// ??????? ?????? ????? ?????? ?? - MARY HAD A LITTLE LAMB
// correct string:
// ??????? ?????? ????? ?????? ?? - MARY HAD A LITTLE LAMB
Run Code Online (Sandbox Code Playgroud)
(口音很难看,但它们在那里.)
根据Java 1.7文档,我应该能够将语言环境传递给toUpperCase,如下所示:
String upper = example.toUpperCase(new java.util.Locale("el"));
Run Code Online (Sandbox Code Playgroud)
但是,看起来似乎没有toUpperCase正确处理希腊语的具体规则.
是否可以定义toUpperCase特定区域设置的行为,以便我可以确保获得正确的结果?
或者,我可以编写一个实用程序类来处理这种特殊情况.但如果可能的话,我宁愿在每个语言环境中覆盖此函数,以防其他语言出现.
根据@ajb,默认情况下 Java 不支持此功能。我必须创建自己的解决方案。
编辑:我通过text-transform: uppercase前端 CSS 解决了这个问题,所以与 Java 中的原始问题不是特别相关。事实证明,这是这个基于网络的应用程序的最简单的答案。