远程登陆linux中文乱码解决方案

使用SSH远程登陆linux时出现中文乱码

原因: Windows使用的GB2312编码,大多数Linux系统支持的是UTF-8编码,而远程登陆时使用的是本地编码。

方案一:修改linux主机中的文件,不建议使用此方法

    vi /etc/sysconfig/i18n

    原内容为:

        LANG="zh_CN.UTF-8"
    修改为:

        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"

方案二:使用其他远程登陆软件

    xshell或Putty皆可,修改配置,将字符集改为UTF-8

putty小,功能也不差

PuTTY的默认字体和字符集并不适合中文显示,本文就向大家展示如何修改这些样式。

工具/原料

  • putty

步骤/方法

  1. 在窗口标题上点击右键,选择 Change Settings...

    怎么样修改PuTTY的默认字体和字符集
  2. 在打开的配置窗口左边选择 Appearance,在右边点 Font settings 里面的 Change 按钮,选择好中文字体,比如:宋体、新宋体之类的

    怎么样修改PuTTY的默认字体和字符集
  3. 选 择配置窗口左边的 Translation,在右边的 Received data assumed to be in which character set 下拉列表中选择最后一个“Use font encoding”,最后点下面的 Apply 按钮就生效了。

    怎么样修改PuTTY的默认字体和字符集
  4. 重新执行命令 ls -l,就可以正常看到中文了

    怎么样修改PuTTY的默认字体和字符集
  5. 如果还是乱码的话,就执行以下命令,看看系统的字符集
    echo $LANG $LANGUAGE

    怎么样修改PuTTY的默认字体和字符集
  6. 哦, 原来系统的字符集是 UTF-8 呀。重新返回上面选择字符集的那一步, 选择配置窗口左边的 Translation,在右边的 Received data assumed to be in which character set 下拉列表中选择“UTF-8”

    这下99%的情形下,汉字是不会有乱码了。最后,总之一下 PuTTY 中乱码的解决办法:
    先看看系统的字符集,如果是 UTF-8 的,那就简单了,选择好中文字体,然后编码选择 UTF-8 就行了。
    如果编码是 GB2312、GBK、GB18030,当然也包括 BIG5这些,在 PuTTY 的编码选择中看不到这些编码,那就选择最后一个“Use font encoding”,绝大部分情况下这样就没啥问题了,反正我是没碰到有什么例外的情况。
    现 在的 Linux 如果默认语言选择为中文,默认的编码就是 UTF-8 了。以前安装 Redhat AS 3 时,语言选择为中文,默认的编码是 zh_CN.gb2312, zh_CN.gb18030,好像从 AS 3 update 6 开始,包括现在的 AS4、AS5,中文的默认编码都成了 zh_CN.utf8。至于 Debian、Ubuntu 等等这些上面,好像一直都是 UTF-8。
    至于是使用 UTF-8呢,还是用 GB2312、GBK 或者 GB18030呢?我个人还是倾向于 UTF-8。毕竟我们使用的大多数软件都是国外的,处理中文编码多多少少有些问题,PuTTY 自然也不例外。

    怎么样修改PuTTY的默认字体和字符集
  7. 下面的这个图上,把终端编码修改为 zh_CN.utf8,然后也按照前面的所说的方法把 PuTTY 的字符集修改为 UTF-8。然后在终端中输入汉字“柴锋”,按左方向键,可以看到汉字显示很正常。

    怎么样修改PuTTY的默认字体和字符集
  8. 重新把终端的编码修改为 zh_CN.gb2312,同样的,把 PuTTY 的字符集修改为最后一个“Use font encoding”。还是在终端上输入汉字“柴锋”,按下左方向键以后,会看到汉字乱码了。

    怎么样修改PuTTY的默认字体和字符集
  9. 至 于用哪个编码,主要还是看领导的决定了,我们的领导就喜欢 GBK,连 GB18030 都不行。以前在用 Debian 的时候,好像默认都不支持 GBK 编码。这几年公司的开发在汉字编码问题上出过几次麻烦,还不就是在 ISO8859-1, GB2312/GBK/GB18030和UTF-8上折腾来折腾去。
    给大家看一张 emacs 的截图,看看上面的这么多语言的文字共同显示,这个会是用 GB2312/GBK/GB18030 的编码么?

    怎么样修改PuTTY的默认字体和字符集

猜你喜欢

转载自chenjinbo1983.iteye.com/blog/1753516