我确定这是一个编码问题,但我无法弄清楚。
我将 Excel 中的电子表格导出为 UTF-8 CSV。这生成了 UTF-8-BOM 字符编码的 CSV。在 Notepad++ 中打开这个文件,大部分字符都被正确渲染 - 包括非 ANSI 字符,如ø
. 但是,连字符 ( ?
) 显示为?
。
我相信这个角色是U+2010 ? HYPHEN
.
如果我在Notepad 中打开文件,连字符显示正确。如果我使用Vim读取文件或cat
将其打印到终端,它也会正确显示。
最后,文件的八进制转储显示十六进制字节e2 80 90
,这是U+2010 - HYPHEN
Unicode 字符的 UTF-8 编码。
那么为什么 Notepad++ 将这个字符显示为?
?