xshell登陆,查看中文日志出现乱码

2023-02-12,,,,

看到乱码,首先想到的是编码问题

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编码切换成默认语言即可,但这可能造成其他乱码;

所有有时候,可能需在UTF-8编码和默认语言之间来回切换

xshell登陆,查看中文日志出现乱码的相关教程结束。

《xshell登陆,查看中文日志出现乱码.doc》

下载本文的Word格式文档,以方便收藏与打印。