日文字符显示?标志

M. *_* Ko 3 c# unicode winforms

我有一个使用Segoe UI字体的winform应用程序.在Windows 10中,正确显示日语字符.但是,Windows 7将字符显示为?标志.导致此问题的原因是什么?如何解决此问题?

Mar*_*und 7

原因是在Windows 7上没有预装 Segoe UI字体(请参阅下面的编辑),因此它可能会回退到可能不支持日语字符集的其他字体.

您有两个(三个)选项:

  • 使用Windows 10和Windows 7上支持的其他字体
  • 检查系统版本并在运行时更改字体
  • (不使用Windows 7 :-))

编辑

似乎我错了 - Segoe UI 实际上是Windows 7的一部分,它只是没有被用作经典主题的默认字体(有默认的Tahoma),仅用于Aero.

在这种情况下,您可能需要安装日语语言包才能在Windows 7上启用日语字符.