D语言无法在Windows上显示德语Umlaute?

时间:2015-10-23 19:45:42

标签: string encoding character-encoding cross-platform d

enter image description here

如您所见,D未能输出德语Umlaute。至少在Windows上。在Linux或BSD上,相同的程序输出字符串,因为我保存了它。

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

我做错了什么?

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:4)

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

在Eclipse中,可以在不更改操作系统的全局设置的情况下更改输出编码。 转到运行 - >运行配置... enter image description here

选择Common-Tab并将编码更改为UTF-8。现在德国的Umlaute正确显示。至少在Eclipse中。 : - )

另一种可能性是使用https://babun.github.io/。这是一个基于Cygwin的Shell,输出UTF-8: enter image description here