如果我在Vim中打开纯文本文件,通常会发生这种情况。我看到正常的字符文本,但接着是here字符,通常在那里应该只有一个空格。如果我输入:set encoding
,我会看到encoding=utf-8
,这是正确的,因为我在文本中看到了智能引号。这些 字符是什么?如何修复它们的显示方式?
答案 0 :(得分:2)
�
是unicode替换字符。无论何时使用任何UTF编码(UTF-8,UTF-16,UTF-32),所使用的UTF编码的所有非法字节序列都显示为�
。其他选项是首先丢弃字节序列或完全停止解码过程。
例如,ISO-8859-1中hellö
的字节:
68 65 6c 6c f6
使用UTF-8解码时,变为hell�
。 0xf6
不会单独出现在UTF-8中,但其他字节完全有效,“偶然”甚至会解码为相同的字符。