D 语言无法在 Windows 上显示德语元音变音?

D Language fails to display german Umlaute on Windows?

如您所见,D无法输出德语元音变音。至少 Windows。在 Linux 或 BSD 上,相同的程序输出我保存的字符串。

我已经尝试过 wstring 或 dstring,但输出是一样的。

我做错了什么?

无论操作系统如何,D 都会输出 UTF-8。如何解释输出取决于它的显示方式。在这种特殊情况下,看起来您的 IDE 正在将输出解释为好像它是在 Windows-1252 编码中编码的。

对于标准 Windows 控制台,您可以通过调用 SetConsoleOutputCP(65001) 更改输出编码,但请注意,这可能会产生一些不良副作用(您应该在程序退出前恢复代码页,当控制台输出代码页设置为 65001 时,批处理文件可能不会 运行。

Cyber​​Shadows post 引导我找到了一个可以接受的答案。 :-)

在 Eclipse 中,可以更改 output-encoding 而无需更改 OS 的全局设置。 转到 运行 --> Run-Configurations...

有select Common-Tab 并将编码更改为UTF-8。现在德语元音变音正确显示。至少在 Eclipse 中。 :-)

另一种可能性是使用 https://babun.github.io/ 。输出 UTF-8 的是 Cygwin-based Shell: