在一个Linux系统,用vi打开一个utf8编码的文件,中文部分出现乱码,这是一个很常见的问题。可用以下办法解决:
在vi中运行命令:
:set encoding=utf8
这时应该就可以显示正确的中文内容。vi有几个与编码有关的变量,分别是:
encoding:是vi内部处理文档的编码方式。
fileencoding:是vi写入文件时采用的编码类型。
fileencodings:是vi读入文件时采用的编码类型。
还有一个是,termencoding,表示输出到客户终端(Term)采用的编码类型。
如果运行了以上设置还不行,有可能是终端程序的编码问题。我使用的secureCRT终端程序,在secureCRT中进入会话选项,终端->外观,字符编码选“UTF-8”,保存设置,即可解决。
以上方法在多个系统证实可行,包括windows下的vim环境,以及国外godaddy主机的远程登录环境。