WPF文本框 - 德语字母ß被自动替换为ü

3
我们在我们的WPF应用程序中添加了德语本地化,后来我们收到了一位德国用户的反馈。他告诉我们,他无法输入德语字母"ß",它会自动替换成字母"ü"。
期待收到一些答案或建议。
问题示例截图: issue example screenshot

1
我有一种感觉,你正在使用的字体没有“Eszett”字符,因此它被替换为带重音符号的“u”。WPF的默认字体是Segoe UI,它支持“Eszett”,但也许你正在使用不同的字体。 - AQuirky
我甚至还没有考虑过这个问题。我们肯定有自定义字体。但是,如果我复制这个符号,然后将其粘贴到文本框中,它将正确显示。无论如何,谢谢 - 我会尝试研究一下是否与我们的字体有关。 - Roman Belfer
我在处理波斯字符时遇到过这个问题很多次,其中一种解决方案是:将系统区域设置更改为波斯语,或将应用程序区域设置更改为波斯语。我想知道这是否有帮助。 - Bizhan
很遗憾,我尝试更改系统和应用程序的语言环境,但这并没有帮助我。 - Roman Belfer
当然……在你的测试中它运行良好,但在用户的机器上失败了。这表明你的自定义字体没有安装在用户的机器上,导致选择回退字体,该字体不支持Eszett。这只是另一个需要调查的想法。 - AQuirky
1个回答

0

终于找到了一个问题。实际上,我们的应用程序使用System.Windows.Input.Key和本地ScanCodeShort的比较和映射来修复由于不同文化而导致的热键功能。结果是 - 德语符号 'ß' 被检测为 'OEM4' 键,并且作为ScanCodeShort它等于'OemOpenBrackets'。这就是为什么输入'ü'而不是'ß'的原因。现在我正在尝试找到解决这个问题的方法,但似乎这是另一个故事。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接