红联Linux门户
Linux帮助

解决Linux常见乱码问题

发布时间:2012-10-11 21:16:36来源:红联作者:horsetornado
[i=s] 本帖最后由 horsetornado 于 2012-10-23 17:04 编辑 [/i]

解决Linux常见乱码问题
初学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


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

共有 153 条评论

  1. 云龙傲九霄 于 2013-04-29 14:02:56发表:

    谢谢楼主,很实用的技术。

  2. ftzzh 于 2013-04-22 12:27:30发表:

    帮顶。

  3. Feyiz 于 2013-04-21 00:01:42发表:

    小即是美,值得学习这个小技巧

  4. ganshiyu 于 2013-04-18 11:47:37发表:

    新手党飘过,学习了,谢谢。

  5. ting19820 于 2013-04-16 19:27:17发表:

    学习了这个小技巧,谢谢

  6. 4580147 于 2013-03-22 23:27:20发表:

    学习了

  7. 904441024 于 2013-03-17 12:19:41发表:

    十分感谢

  8. 904441024 于 2013-03-17 12:19:18发表:

    十分感谢

  9. skyooup 于 2013-03-17 09:10:08发表:

    thanks

  10. chooselinux 于 2013-03-15 15:03:21发表:

    谢谢哒,哈哈,狠受用

  11. wyruirui118 于 2013-03-09 23:03:06发表:

    没遇到过

  12. hcl57824613 于 2013-02-23 14:40:13发表:

    多谢提供

  13. contery 于 2013-02-23 09:52:23发表:

    做任务来了

  14. contery 于 2013-02-23 09:51:57发表:

    做任务来了。

  15. gutifeng2012 于 2013-02-21 09:07:24发表:

    我也碰到了,谢谢楼主分享

  16. Jalicle 于 2013-02-21 08:51:11发表:

    嗯,这是我看到,最多的方式修改Linux乱码问题集。

  17. ymygy 于 2013-02-08 11:43:49发表:

    路过学习一下

  18. wshcyc 于 2013-01-01 23:29:30发表:

    路过。。

  19. gzt19881123 于 2013-01-01 20:35:02发表:

    学习了

  20. wy2305789 于 2013-01-01 16:21:56发表:

    刚刚开始接触linux,谢谢讲解

  21. samlin 于 2012-12-30 20:15:06发表:

    受教受教!!!!:0wmjh(1

  22. yark 于 2012-12-30 09:57:53发表:

    不错啊 经验

  23. 黑名 于 2012-12-19 17:16:05发表:

    太有帮助了,非常感谢楼主热情的帮助

  24. makertang 于 2012-12-11 14:33:02发表:

    thanks a lot!!!!!

  25. 醉尘风 于 2012-12-11 14:21:17发表:

    学习

  26. gky2009514 于 2012-12-07 11:20:43发表:

    新手完成任务,求下书籍~

  27. ok592ta 于 2012-12-05 13:01:37发表:

    。。。:0w5ty(1

  28. orcl_shell 于 2012-12-04 15:22:51发表:

    总结不错,学习了

  29. hailihao11 于 2012-11-30 08:16:57发表:

    新人报到。从基础的学起。

  30. hailihao11 于 2012-11-30 08:16:54发表:

    新人报到。从基础的学起。

  31. hailihao11 于 2012-11-30 08:16:51发表:

    新人报到。从基础的学起。

  32. hailihao11 于 2012-11-30 08:16:48发表:

    新人报到。从基础的学起。

  33. hailihao11 于 2012-11-30 08:16:44发表:

    新人报到。从基础的学起。

  34. hailihao11 于 2012-11-30 08:16:41发表:

    新人报到。从基础的学起。

  35. hailihao11 于 2012-11-30 08:16:36发表:

    新人报到。从基础的学起。

  36. hailihao11 于 2012-11-30 08:16:15发表:

    新人报到。从基础的学起。

  37. hailihao11 于 2012-11-30 08:16:11发表:

    新人报到。从基础的学起。

  38. hailihao11 于 2012-11-30 08:16:07发表:

    新人报到。从基础的学起。

  39. hailihao11 于 2012-11-30 08:16:04发表:

    新人报到。从基础的学起。

  40. hailihao11 于 2012-11-30 08:16:00发表:

    新人报到。从基础的学起。