Ubuntu 与 Macos 终端中的 Unicode

Ubuntu 与 Macos 终端中的 Unicode

我面临一个奇怪的问题;在 MacOS 和 Ubuntu 16.04 上执行“艰难学习 Python”中的一段 Python 代码给了我完全不同的视觉结果。

抱歉,附加了截图来演示该问题...

Ubuntu 苹果系统

正如你所见,对于 Ubuntu 上的某些语言,终端不会呈现 unicode 字符(而是显示小方块),我正在试图找出原因

答案1

如果两个系统上都是 uxterm,并且使用相同的字体选择,则要查看的另一个地方是区域设置表,这两个系统之间的区域设置表可能有所不同。

xterm 在启动时检查系统的表,如果系统出现太多问题,可能会使用自己的表。选择由mkWidth资源。

例如,在错误报告中FreeBSD #219800,我制作了一个表格,显示了几个不同系统(包括 OSX 和 Linux)的错误编码字符数。现在...如果 Ubuntu 表格通过了初始测试,但在较少使用的方言中存在问题,而 OSX 没有通过测试并且 xterm 选择使用其自己的表格(恰好与字体配合得更好),那么您可能会得到这样的差异。

仅从截图来看,缺失的字符似乎是使用的代码点组合字符。这与区域设置支持尤其相关,因为基本字符后的附加字符将被报告wcwidth为零宽度。

相关内容