查看: 2312|回复: 1
打印 上一主题 下一主题

解决Linux常见乱码问题

[复制链接]
跳转到指定楼层
沙发
发表于 2014-8-9 09:43:18 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
初学Linux,所以还是在用中文界面,经常碰见中文乱码的情况。下面是学习中碰见的常见几种乱码情况,经过度娘的帮忙,通过实验整理得出解决办法。

1、ssh或者telnet远程登录时
   查看环境变量LANG,改成中文编码utf8,我试了一下en_US.utf8和zh_CN.utf8都可以,不知道这两种编码在哪有区别,并且设置SSH或者Telnet客户端工具编码,要保持一致
   如常见的工具SecureCRT中设置:会话选项--外观--字符编码--utf8

2、图形化窗口中的终端乱码
   就是我们用图形化界面进入linux,然后点击进入“终端”
   这种最好解决,修改环境变量LANG即可,命令LANG=zh_CN.utf8,en_US.utf8也可以,只不过有些字显示的效果不太一样,有的大,有的字体不一样
   另外终端其实也是一个软件,它的编码也要和环境变量LANG的编码要一致。在“终端”的菜单选项中有一个“终端”-“设定字符编码”设置

3、VIM下乱码
   这个主要和两个因素有关:
   一就是文件原始的编码,原始编码的设置是在VIM的配置文件里设置的
   二终端有关,比如我们在终端显示一个文件,cat /tmp/helloworld.txt,所以终端的编码要和文本原始编码要一致,设置同2

4、tty登录
   这个在网上百度了下,需要安装中文接口软件的支持,如zhcon,所以需要安装相应的软件,这个我暂时还没有实验过,所以具体配置等我实验后给出

5、将man的内容重定向
     利用man,我们能够查看到好多有用的信息,但是有时候想把man中的内容保存在文本中,方便以后查看。
     比如把iptables的信息保存在iptables.txt中:man iptables > iptables.txt
     但是这样操作的结果有时候却差强人意,有好多乱码,解决的办法是:man iptables | col -b > iptables.txt
     col的作用是将输入的内容进行转换过滤后输出,-b就是不显示回退键

6、从windows下拷过来的文本文件在Linux下出现乱码之所以出现乱码是因为windows下中文的编码一般为gbk,而Linux下中文编码一般为 utf8,所以在     windows下正常打开的文件,到Linux下很可能出现乱码。
     解决办法是:使用命令iconv对文本内容编码进行转换
           iconv -f gbk -tutf8 原文本.txt > 新文本.txt

7、挂载U盘后,U盘中中文目录名或文件名为乱码
     正常挂载:mount /dev/sdb1 /mnt/usb ,然后使用ls  /mnt/usb发现U盘上中文目录和文件名都是乱码
     解决办法:在挂载时加上字符集参数 mount  -o iocharset=utf8 /dev/sdb1 /mnt/usb


其他乱码,会在以后的学习中逐步发现解决,暂时先给出这几种常见的乱码情况,未完待续...
回复

使用道具 举报

板凳
发表于 2014-8-9 09:46:42 | 只看该作者
学到了。。以后遇到就可以解决了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表