linux 命令行中文乱码问题

arabicsara 2010-07-13 10:10:27
比如有一个文件为"新建 文本文档.txt",显示的就是这样:
[root@192 gcl]# ls
a.out test.c x.txt xxx ?????? ????????????.txt

怎么解决linux 命令行中文乱码问题?
我的etc/sysconfig/i18n是这样的:
[root@192 gcl]# vi /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"
SYSFONTACM="8859-15"
export LANG=ZH_CN
~
...全文
1254 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dobzhansky 2010-07-15
  • 打赏
  • 举报
回复
如果是在纯粹的 console 下,
你需要安装一个中文控制台, 比如 cce, zhcon, ...
arabicsara 2010-07-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 aguang888 的回复:]
export LANG=
[/Quote]=多少都一样,linux字符界面下中文乱码问题是解决不了的
再等段时间来结贴
aguang888 2010-07-14
  • 打赏
  • 举报
回复
export LANG=
「已注销」 2010-07-14
  • 打赏
  • 举报
回复
LZ,是putty呈现乱码吗?

putty中文乱码,一般是putty的是,和linux无关。

http://alex09.javaeye.com/blog/450909
pottichu 2010-07-14
  • 打赏
  • 举报
回复
用 putty 的话, 你试试

export LANG=GB_2312
sb3day 2010-07-14
  • 打赏
  • 举报
回复
使用cce就ok啦
Coder_Granger 2010-07-13
  • 打赏
  • 举报
回复
朋友,Linux下使用纯UTF-8环境能让你减少很多麻烦.

locale和终端属性都设置为zh_CN.UTF-8比较好,

putty相当于终端,可以设置字符编码.


终端编码==系统编码,文件系统挂载时写对相应的iocharset,
文本文件存储为不带BOM的UTF-8编码,再按UTF-8编码打开,就不会乱码了.
(脑残windows程序可能对没有BOM的UTF-8不能适应)
arabicsara 2010-07-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yh121212 的回复:]
如果你用的是Gnome终端,菜单--“终端”-》“设定字符编码”
[/Quote]这个方法在图形界面有效,但是在字符界面怎么设置呢?
arabicsara 2010-07-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yh121212 的回复:]
如果你用的是Gnome终端,菜单--“终端”-》“设定字符编码”
[/Quote]也有在字符界面,现在putty是可以显示汉字了,linux虚拟机下还不可以
Setarcos 2010-07-13
  • 打赏
  • 举报
回复
先用 locale 命令看一下当前使用的编码方式。
然后再考虑终端的显示问题。
yh121212 2010-07-13
  • 打赏
  • 举报
回复
如果你用的是Gnome终端,菜单--“终端”-》“设定字符编码”
Linux命令行实例参考手册。相当不错的学习资料,以下是部分内容的展示: 第9章 Linux系统磁盘基本管理命令 挂载文件系统――mount mount命令语法: mount [参数] [设备名称] [目录] 实例1:挂载光盘镜像文件mydisk.iso。 本例中在执行mount命令之前,可以先执行mkisofs命令将用户sheriff的主目录/home/sheriff下的资料建立成一个mydisk.iso的光盘镜像文件。 [root@localhost ~]# mkisofs –r –J –V mydisk –o /root /mydisk.iso /home/sheriff 然后,可以执行mount命令将已创建好的光盘镜像文件mydisk.iso挂载到新建的挂载点/mnt/vcdrom目录下。 [root@localhost ~]# mount –o loop –t iso9660 /root/myd isk.iso /mnt/vcdrom 最后查看/mnt/vcdrom目录下资料,证实挂载操作成功完成。 实例2:挂载移动磁盘。 第1步:对Linux系统而言,USB接口的移动磁盘被识别为SCSI设备。插入移动磁盘之前,应先用fdisk –l或more /proc/partitions查看系统的磁盘和磁盘分区情况。 第2步:接好移动磁盘后,再用fdisk –l或more /proc/partitions查看系统的磁盘和磁盘分区情况。 第3步:对比两次磁盘分区情况查看结果,应该可以发现多了一个SCSI磁盘/dev/sdb和它的三个磁盘分区/dev/sdb1,/dev/sdb2。其中/dev/sdb5是/dev/sdb2分区的逻辑分区。可以使用下面的命令挂载/dev/sdb1和/dev/sdb5。 [root@localhost ~]# mkdir –p /mnt/usbhd1 [root@localhost ~]# mkdir –p /mnt/usbhd2 [root@localhost ~]# mount –t ntfs /dev/sdb1 /mnt/usbhd1 [root@localhost ~]# mount –t vfat /dev/sdb5 /mnt/usbhd2 对ntfs格式的磁盘分区应使用-t ntfs 参数,对fat32格式的磁盘分区应使用-t vfat参数。若汉字文件名显示为乱码或不显示,可以使用下面的命令格式。 [root@localhost ~]# mount –t ntfs –o iocharset=cp936 /dev/sdc1 /mnt/usbhd1 [root@localhost ~]# mount –t vfat –o iocharset=cp936 /dev/sdc5 /mnt/usbhd2 实例3:挂载U盘。 第1步:和USB接口的移动磁盘一样,在Linux系统中U盘也被当作SCSI设备。插入U磁盘之前,应先用fdisk –l或more /proc/partitions查看系统的磁盘和磁盘分区情况。 第2步:接好U磁盘后,再用fdisk –l 或 more /proc/partitions查看系统的磁盘和磁盘分区情况。 第3步:对比两次磁盘分区情况查看结果,应该可以发现多了一个SCSI磁盘/dev/sdd和它的一个磁盘分区/dev/sdb1,/dev/sdb1就是要挂载的U盘。 [root@localhost ~]# mkdir –p /mnt/usb [root@localhost ~]# mount –t vfat /dev/sdd1 /mnt/usb 若汉字文件名显示为乱码或不显示,可以使用下面的命令格式。 [root@localhost ~]# mount –t vfat –o iocharset=cp936 /dev/sdd1 /mnt/usb

2,161

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 UNIX文化
社区管理员
  • UNIX文化社区
  • 文天大人
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧