分类: LINUX
2009-07-03 10:47:30
5 FAQ
内容显示乱码的解决的方法
解决的方法就是两个:
1.用iconv转化为目前的编码
2.用你原来使用的编码
看了这两条,你肯定必须要明确,你原来的字符编码是如何的。说来说去,无非就是LANG SUPPORTED 和你原文件字符集的编码:)
Mount文件系统的时候出现乱码。
显然这种情况是显示文件名引起的乱码。
linux访问这些含有codepage的本地字符集的比如fat12、fat16的文件系统的时候,必须首先要在内核中对这些本地字符集的支持。这可以通过编译内核中,增加对本地字符集的支持的选项来达到目的。当要mount 这些fat12、fat16的文件系统的时候,只需要加上-codepage.比如:
当要访问的文件系统的codepage是cp437的时候,通过下面的指令来完成,这样显示的文件名才不是乱码。
mount -t vfat /dev/hda1 /mnt/1 -o codepage=437,iocharset=cp437
字符终端打开的时候出现乱码。
显然这种情况是显示文件名引起的乱码。
如果终端的编码方式又是设置正确的。因此可能是渲染这个编码对应的字体文件中找不到这个内容。解决方法是下载新的字体文件。并用setfont命令来设置生效,如果想在重启系统生效,把字体文件名设置在/etc/sysconfog/i18n中就可以了
xterm终端打开的时候出现乱码
显然这种情况是显示文件名引起的乱码。
这种情况一般是的编码方式设置错误的。当然如果编码方式设置正确,但还是出现乱码,就只有设置其他字体文件了。Xterm的字体文件和字符终端的字体文件不一样,它是使用的矢量的方法来构造字体的,而字符终端的字体是采用的是点的方法来构造字体的,因此Xterm不是和字符终端读取的同一个配置文件,而是自己专有的文件,设置方法也不同。
Emacs打开文件出现乱码。
显然这种情况是查看文件内容引起的乱码。
因此必须要设置emacs本身的编码方式。
Emacs 的shell模式出现乱码。
显然这种情况是显示文件名引起的乱码。
Emacs 的shell模式如果是模拟的是字符终端,那么解决方式就按照“字符终端打开的时候出现乱码”,如果是模拟的是xterm终端,那么解决方式就按照“xterm终端打开的时候出现乱码”。
Smaba客户端连接出现乱码。
显然这种情况是显示文件名引起的乱码。
如果连接是windows的共享,并且这个共享编码采用的是gb2312的话,
mount -t smbfs -o username=my_name,password=my_pass,codepage=cp950 //xxx.xxx.xxx.xxx/share_floder /dest
就要在上面codepage指定cp950.它对应了gb2312.
如果连接是linux的共享话,
mount -t smbfs -o username=my_name,password=my_pass,codepage=cp950 //xxx.xxx.xxx.xxx/share_floder /dest
上面codepage指定的内容必须要samba服务器的dos charset指定的内用要一样。因为dos charset的内容就是规定服务器客户机双方通讯的编码方式。
ftp客户端连接出现乱码。
显然这种情况是显示文件名引起的乱码。
Kde浏览器显示出现乱码。
显然这种情况是显示文件名引起的乱码。