XShell连接CentOS 7.2显示中文乱码问题的解决方法

Posted 处女座打字员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XShell连接CentOS 7.2显示中文乱码问题的解决方法相关的知识,希望对你有一定的参考价值。

背景

使用U盘往Windows主机、Linux主机传文件还是经常的事,但有时候文件名有中文,

传到Linux机器会有乱码,选择起来也很麻烦,最近刚好遇到,写下解决方法。

 

环境

Linux

[root@min-base ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[root@min-base ~]# echo $LANG
en_US.UTF-8
[root@min-base ~]# 

 

Windows XShell

 

问题

txt文件是用Xftp直接从Windows上拖过来的,在Linux机上显示乱码了。

[root@min-base ~]# ll
total 801272
-rw-------. 1 root root       996 Dec 15 15:56 anaconda-ks.cfg
drwxr-xr-x. 6 root root        48 Dec 21 07:13 cmake-3.7.1-Linux-x86_64
-rw-r--r--. 1 root root  30679418 Dec 21 07:13 cmake-3.7.1-Linux-x86_64.tar.gz
drwxr-xr-x. 4 root root        29 Dec 21 06:09 llvm-src
-rw-r--r--. 1 root root 779956643 Jan  1 17:40 llvm-src.tar.gz
drwxr-xr-x. 8 1000 1000      4096 Aug 10  2013 vim74
-rw-r--r--. 1 root root   9843297 Dec 21 05:04 vim-7.4.tar.bz2
-rw-r--r--. 1 root root       975 Jan 10 06:01 ??????ϰregexp.txt
[root@min-base ~]# 


解决

一般这种问题是文件的编码字符集、Shell编码字符集、XShell编码字符集不匹配,设置匹配就可以了。

 

临时办法

1)简体中文的Windows一般使用GB字符集,这里将XShell设置为GBK

2)

Linux主机

[root@min-base ~]# export LANG=zh_CN.gbk

 

再试,就可以正常显示中文了。

[root@min-base ~]# ll
总用量 801272
-rw-------. 1 root root       996 12月 15 15:56 anaconda-ks.cfg
drwxr-xr-x. 6 root root        48 12月 21 07:13 cmake-3.7.1-Linux-x86_64
-rw-r--r--. 1 root root  30679418 12月 21 07:13 cmake-3.7.1-Linux-x86_64.tar.gz
drwxr-xr-x. 4 root root        29 12月 21 06:09 llvm-src
-rw-r--r--. 1 root root 779956643 1月   1 17:40 llvm-src.tar.gz
drwxr-xr-x. 8 1000 1000      4096 8月  10 2013 vim74
-rw-r--r--. 1 root root   9843297 12月 21 05:04 vim-7.4.tar.bz2
-rw-r--r--. 1 root root       975 1月  10 06:01 正则练习regexp.txt

不过以上设置只对当前shell连接生效,新开的shell还是用的原来的设置。

 

永久生效

1) XShell属性设置

 

2) Linux环境变量设置

[root@min-base ~]# vim /etc/profile

在末尾追加

export LANG=zh_CN.gbk

 

就可以了。

然而。。。。。。我发现对插在Linux机器上的U盘仍然不能正确识别出中文目录、中文文件

原来另有蹊跷,就是在挂载U盘的时候设置下字符集

[root@min-base ~]# mount -o iocharset=gbk /dev/sdb4 /mnt

 

这样设置一般差不多就可以解决了。

不过此操作引发了导入xxx.sql文件时数据库中文乱码问题,有待研究...

以上是关于XShell连接CentOS 7.2显示中文乱码问题的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

xshell系统设置中文乱码怎么解决

Xshell4连接,Linux系统中文显示乱码解决办法

SecureCRT与Xshell中文乱码的处理

openssh 升级

怎么让xshell打印的日志显示时间

xshell 连接mac的ssh中文乱码的问题