将德语单词与具有相同单词的变音符号与unicode进行比较

Comparing German word with umlauts with same word with unicode

我正在将字符串从英语翻译成德语,但是已经翻译过的德语单词正在被再次翻译。

假设我有这个词 "Beim Hinzuf\u00E4gen" 已经被翻译了。我想将其与同一个词进行比较,但带有变音符号 "Beim Hinzufügen"。这两个文件都被读取为 ISO-8859-1,但是当我比较它们时,它们被认为是不同的,并且这个词被再次翻译,这是我不想要的。即使当我用 unicode 替换变音符号并比较两者时,它们仍然被视为不同。我确定这是因为当我通过“\u00E4”重放变音符号时,添加了一个额外的反斜杠。

任何人都知道我正在尝试做的事情的首选方法。

看来你需要将这些与 Collator:

进行比较
String left = "Beim Hinzuf\u00E4gen";
String right = "Beim Hinzufägen";
Collator c = Collator.getInstance();
c.setStrength(Collator.PRIMARY);

int result = c.compare(left, right); // 0

正如@Eugene 指出的那样,您的结果是正确的。你比较一下"Hinzufügen"和"Hinzufägen",两者是不一样的。

Unicode 00E4 is "ä",
Unicode 00FC is "ü".