windows下xshell远程登录linux主机中文乱码的解决办法
2013-04-02 14:55
645 查看
出于方便我们经常在windows主机中使用xshell来远程登录linux主机,这个时候如果主机是中文版,换句话说要显示中文的话有可能会遇到乱码问题,关于xshell下显示linux主机乱码的解决办法有两种:
一是修改linux主机:
vim /etc/sysconfig/i18n
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
把i18en中的内容替换成以上四行就可以了。
以上这个方法当然可以解决问题,不过我们要想一想原理是什么为什么能解决问题。
首先原来的i18n是这样的:
LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"
就是说它默认支持的是utf-8的编码,现在你的xshell显示中文乱码,改成gb2312的就好了,这就说明你的xshell在登录的时候默认显示gb2312,因此utf-8的linux主机中的中文才会显示成乱码,所以这样也能解决问题但是如果又有一台windows主机登录这台linux也是中文乱码难道又要改linux的编码吗?这样的话到底是改成utf-8还是gb2312呢,岂不是乱套了?所以这个方法不能从根本上解决问题。
方法二:修改xshell(linux主机的编码始终不变)
xshell中文编码设置
输入: locale
输出 : LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
说明系统的中文编码是采用utf8的,那么为了在xshell中正常的显示中文,我们要把xshell编码方式改成utf8,
[文件]-->[打开]-->在打开的session中选择连接的那个 ,点击properties -> [Terminal ] ,在右边的translation(我的是encoding,就是改个编码而已)先选择utf8就可以啦.
也就是说首先查看linux主机的编码方式(locale),然后把xshell中这个link(连接)属性中的编码改成与主机一样的就行了。这个方法才是正确的,这样就是有一万台编码方式各不相同的windows xshell登录到同一台linux上也不会有乱码问题了。
(不过这个时候就不能使用临时连接了,要创建一个连接session然后改这个session的属性,不过也方便至少解决乱码问题的同时,下次登录不用输入IP地址了直接双击session就可以了)
当然啦以上是针对登录编码方式不同的linux主机来说的,但是linux主机的编码方式一般都是utf-8的,所以啊我们也没有必要这么麻烦直接把你的xshell默认编码设置成utf-8的就可以了,以后无论登录哪台主机都会以utf-8为默认编码来显示了,这样就不用每次都设置了,也不用每次都建立一个link连接了。
一是修改linux主机:
vim /etc/sysconfig/i18n
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
把i18en中的内容替换成以上四行就可以了。
以上这个方法当然可以解决问题,不过我们要想一想原理是什么为什么能解决问题。
首先原来的i18n是这样的:
LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"
就是说它默认支持的是utf-8的编码,现在你的xshell显示中文乱码,改成gb2312的就好了,这就说明你的xshell在登录的时候默认显示gb2312,因此utf-8的linux主机中的中文才会显示成乱码,所以这样也能解决问题但是如果又有一台windows主机登录这台linux也是中文乱码难道又要改linux的编码吗?这样的话到底是改成utf-8还是gb2312呢,岂不是乱套了?所以这个方法不能从根本上解决问题。
方法二:修改xshell(linux主机的编码始终不变)
xshell中文编码设置
输入: locale
输出 : LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
说明系统的中文编码是采用utf8的,那么为了在xshell中正常的显示中文,我们要把xshell编码方式改成utf8,
[文件]-->[打开]-->在打开的session中选择连接的那个 ,点击properties -> [Terminal ] ,在右边的translation(我的是encoding,就是改个编码而已)先选择utf8就可以啦.
也就是说首先查看linux主机的编码方式(locale),然后把xshell中这个link(连接)属性中的编码改成与主机一样的就行了。这个方法才是正确的,这样就是有一万台编码方式各不相同的windows xshell登录到同一台linux上也不会有乱码问题了。
(不过这个时候就不能使用临时连接了,要创建一个连接session然后改这个session的属性,不过也方便至少解决乱码问题的同时,下次登录不用输入IP地址了直接双击session就可以了)
当然啦以上是针对登录编码方式不同的linux主机来说的,但是linux主机的编码方式一般都是utf-8的,所以啊我们也没有必要这么麻烦直接把你的xshell默认编码设置成utf-8的就可以了,以后无论登录哪台主机都会以utf-8为默认编码来显示了,这样就不用每次都设置了,也不用每次都建立一个link连接了。
相关文章推荐
- windows下xshell远程登录linux主机中文乱码的解决办法
- windows下xshell远程登录linux主机中文乱码的解决办法
- xshell远程登录linux主机中文乱码
- 【Linux利用远程SSH连接】SecureCRT中文出现乱码解决办法 Linux服务器技术
- 解决PuTTY登录远程主机的中文乱码问题
- Xshell 登录 AWS CentOS 出现“所选择的用户秘钥未在远程主机上注册“,最终解决办法!
- 【Linux利用远程SSH连接】SecureCRT中文出现乱码解决办法 Linux服务器技术
- Xshell4连接Linux系统中文显示乱码解决办法
- 远程登录Linux,中文显示乱码问题解决方法!
- [置顶] 【Linux利用远程SSH连接】SecureCRT中文出现乱码解决办法 Linux服务器技术
- 解决PuTTY登录远程主机的中文乱码问题
- 【Linux利用远程SSH连接】SecureCRT中文出现乱码解决办法 Linux服务器技术
- windows平台下编辑的内容传到linux平台出现中文乱码的解决办法
- 远程linux xshell下输出中文乱码解决方法
- Xshell4连接,Linux系统中文显示乱码解决办法
- 通过修改系统的$LANG解决xshell远程登录显示中文乱码的问题
- xming+putty在windows下远程linux主机图形界面程序及putty乱码解决
- 使用xshell登录中文版CentOS时,在xshell下显示中文乱码,通过如下办法可以有效的解决乱码问题
- Linux远程登陆软件中文乱码的解决办法
- 通过xshell远程登录linux在vim编辑器里编辑东西按数字键出现英文字母的解决办法