替换 cmd.exe 显示 Unicode 字符

替换 cmd.exe 显示 Unicode 字符

我在 Windows 控制台环境(cmd.exe、在控制台窗口中运行的 Python 脚本等)中显示 Unicode 字符时遇到问题。即补充字符(对应于代码点 ≥ U+10000 的字符)被视为一对两个独立字符(代理对代码点)。此外,NFD 中的组合字符显示为一系列单个字符,而不是一个组合字符。

我正在寻找一种解决方案,该解决方案可能基于用其他东西替换 cmd.exe 或 Windows 控制台环境。据我尝试,只有 ConEmu 能够正确处理补充字符,但不能正确处理组合字符。

我知道 Unicode 有很多问题。这些问题与设置正确的代码页(如 chcp 65001)或使用不合适的字体无关。这似乎是 Windows 控制台环境固有的缺陷。

相关内容