连字符在 Notepad++ 中无法呈现

连字符在 Notepad++ 中无法呈现

我确信这是一个编码问题,但我无法弄清楚。

我从 Excel 导出电子表格为 UTF-8 CSV。这生成了一个采用 UTF-8-BOM 字符编码的 CSV。在 Notepad++ 中打开此文件,大多数字符均能正确显示 - 包括非 ANSI 字符,例如ø。但是,连字符 ( ) 显示为

我相信这个角色是U+2010 ‐ HYPHEN

如果我打开文件记事本,连字符会正确显示。如果我使用Vim读取文件或cat将其打印到终端。

最后,文件的八进制转储显示十六进制字节e2 80 90,即U+2010 - HYPHENUnicode 字符的 UTF-8 编码。

那么为什么 Notepad++ 会将该字符显示为

答案1

如果其他字符被正确解码并且字节级数据看起来正确,那么问题可能只是出在字体上。U+2010位置足够高以至于某些字体可能没有可用的字形。

这个答案另一个超级用户问题指出许多常见的 Windows 7 字体没有字形连字符

相关内容