为什么让 Windows 10 CMD 控制台正确显示 Unicode 如此困难?

为什么让 Windows 10 CMD 控制台正确显示 Unicode 如此困难?

在展示 Windows 10(本例中为 Win10.21H2)的困难示例之前,让我先展示一个 Ubuntu 22.04 的简单示例。

我将包含中文和韩文字符的文件名放在 USB 闪存驱动器上,将其插入 Ubuntu 和 Windows 并查看它们如何显示。

Ubuntu 22.04 显示它们非常好。

Ubuntu Terminal 可以很好地显示 Unicode 字符。

$ la
total 196
drwxr-xr-x  5 chj  chj  32768 1970-01-01 08:00:00  ./
drwxr-x---+ 3 root root  4096 2022-06-09 00:43:35  ../
drwxr-xr-x  2 chj  chj  32768 2021-10-24 17:09:04  LEXAR-128G/
drwxr-xr-x  2 chj  chj  32768 2022-02-17 18:30:34  Raspi-wallpaper/
drwxr-xr-x  4 chj  chj  32768 2016-02-17 00:59:34 'System Volume Information'/
-rw-r--r--  1 chj  chj     23 2022-06-09 08:39:10  한국파일.txt
-rw-r--r--  1 chj  chj     17 2022-06-09 08:27:30  电脑文件.txt

但是对于 Windows 10,我必须手动尝试许多字体(字体系列),直到找到一种可以很好显示它们的字体。

对于英文版的Win10,默认的CMD字体是康索拉然后我尝试Lucida 控制台黑体(SimHei),最后NSimSun(新宋体)

尽管 NSimSun 在这种情况下可以正确显示它们,但我仍然不确定 NSimSun 是否可以处理来自其他国家/地区/字符集的 Unicode 字符(前提是系统上安装了至少一种与该国家/地区/字符集匹配的字体)。

控制台:

使用 Consolas 的 CMD

Lucida 控制台:

使用 Lucida 控制台的 CMD

辛黑:

使用 SimHei 的 CMD

NSimSun:

使用 NSimSun 的 CMD

现在已经是 2022 年了,我想知道为什么微软让用户如此难以在 CMD 窗口中正确方便地查看 Unicode 字符。这方面有什么最佳实践吗?

相关内容