连字符未在 Notepad++ 中呈现

Joa*_*uza 19 windows notepad++ unicode utf-8

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

我将 Excel 中的电子表格导出为 UTF-8 CSV。这生成了 UTF-8-BOM 字符编码的 CSV。在 Notepad++ 中打开这个文件,大部分字符都被正确渲染 - 包括非 ANSI 字符,如ø. 但是,连字符 ( ?) 显示为?

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

如果我在Notepad 中打开文件,连字符显示正确。如果我使用Vim读取文件或cat将其打印到终端,它也会正确显示。

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

那么为什么 Notepad++ 将这个字符显示为?

小智 22

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

这个另一个超级用户问题的回答指出,许多常见的 Windows 7 字体没有HYPHEN的字形。

  • 是字体!切换到常规记事本(实际上是堆栈交换)使用的 `consolas` 解决了这个问题。谢谢! (8认同)