看到乱码,首先想到的是编码问题
linux默认编码格式是utf-8,windows默认gbk
[root@backup]# echo $LANG
en.US.UTF-8
使用fie命令可以查看到文件信息
[root@backup ]# file -i log/monitor_2022-10-21.log
log/monitor_2022-10-21.log: text/plain; charset=iso-8859-1
针对这种情况,可以先复制一份文件,然后转码查看
cp log/bak_monitor_2022-10-21.log log/bak_monitor_2022-10-21_bak.log
iconv-f ISO-8859-1 log/bak_monitor_2022-10-21_bak.log -t ASCII//translatit
也可以直接修改vim的配置文件,谨慎为妙,所有变更操作前都要做好备份
再用vim打开,就可以正常显示乱码的文件了。(记住但并未改变源文件的编码格式,只是vim读文件时自己完成了转码)
syntax on 表示语法高亮。
fileencoding 表示写入文件时采用的编码类型;即保存文件时的默认文件编码。
fileencodings 表示vim读取文件时,采用的编码识别序列,从左往右匹配。
termencoding 表示该选项代表输出到客户终端(Term)采用的编码类型。
encoding: Vim 内部使用的字符编码方式,包括 Vim 的 buffer (缓冲区)、菜单文本、消息文本等
cp /etc/vimrc /etc/vimrc_bak
cat >> /etc/vimrc << EOF
syntax on
set fileencodings=utf-8,gb2312,gbk,gb18030
set fileencoding=utf-8
set termencoding=utf-8
set fileformats=unix
set encoding=prc
EOF
查看百度,网上也有使用如下配置的,专门针对中文乱码:
set fileencodings=utf-8,chinese,latin-1
set termencoding=utf-8
set encoding=utf-8
或更简短的
set enc=prc
set fileencodings=prc,utf8
经测试,vim 文件名
然后命令模式
:set termencoding=utf-8
:set encoding=prc
即可显示中文
最后,xshell登陆时也能直接做到类似的功能,把属性中的UTF-8编码与默认语言相互切换即可
标签:编码,set,utf,log,乱码,xshell,日志,bak From: https://www.cnblogs.com/santia-god/p/16815022.html