Linux中文乱码排查思路

1 终端中文乱码排查思路:

echo $LANG

locale

locale -a | grep zh

LANG=zh_CN.utf8

# 把gbk编码的转码成utf-8
cat info.log | iconv -f gbk -t utf-8

# 终端,系统,文件 三个编码一致才不会乱码

2 vim中的乱码排查思路:

关注这四个options (termencoding, encoding, fileencoding, fileencodings),
可以通过:set来查看,或者在~/.vimrc中查看。

vim set常用选项

1) 显示/隐藏行号

:set nu
:set nonu

2)显示/设置文件编码

#vim保存文件时用的编码
:set fileencoding
:set fileencoding=gbk

#vim显示文件内容的编码
:set encoding
:set encoding=gbk

#vim在打开文件时会根据fileencodings选项来识别文件编码,
#可以同时设置多个编码,vim会根据顺序来猜测所打开文件的编码。
#因此,如果在vim出现中文乱码,可以检查下此选项。
:set fileencodings
:set fileencodings=ucs-bom,utf-8,default,latin1,gbk

3)显示所有set命令

:set
:set all

4) 显示/隐藏不可见字符

:set list
:set nolist

以上命令在命令模式执行,如果希望持久生效,可以把上述命令(去掉前面的:)存到~/.vimrc文件里(如果没有,可以创建该文件),则不必每次都重新设置,每次启动vim时会读取此文件配置。