当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 12 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 移动设备(U盘)GBK编码中文显示乱码的解决方法(如何自动设置pmount的charset参数)
帖子发表于 : 2006-04-28 23:37 

注册: 2006-04-28 21:31
帖子: 198
送出感谢: 0 次
接收感谢: 0 次
如果你的系统的默认LOCALE设置的是和GBK编码不相容的话(比如我就是设置的是”UTF-8“)。

在Gnome中自动挂起移动设备是使用了pmount这个软件包,虽然它可以有charset的参数进行设置,但是好像在gnome设置中并没有相关选项,我们要不手动用pmount+正确的charset来挂起移动设备,或这我们可以用一下的小脚本来让它自动设置正确的(GBK)编码:

pmount 这个软件包中有两个子程序: pmount 和 pmount-hal, 其中pmount-hal会调用pmount并且可以传递参数给pmount。以下介绍的方法就是针对pmount (我们也可以使用pmount-pal,但下面的配置要相应的改动)

1) 用root权限 移动 /usr/bin/pmount 到 /usr/bin/pmount-utf8
代码:
mv /usr/bin/pmount  /usr/bin/pmount-utf8


2) 用root权限 新建 /usr/bin/pmount 文件其内容如下
代码:
#!/bin/bash
/usr/bin/pmount-utf8  --charset cp936 "$@"

* --charset cp936 指明pmount-utf8(也就是原来的pmount)挂起时用GBK(cp936)编码。"$@"是指把pmount收到的参数原封不动的传给pmount-utf8,这也保证了pmount-utf8可以正常工作。

3) 用root权限 设置 /usr/bin/pmount 的权限
代码:
chmod --reference=/usr/bin/pmount-utf8 /usr/bin/pmount
chown --reference=/usr/bin/pmount-utf8 /usr/bin/pmount


* 把您的U盘这类的插上,现在GBK的中文文件就会正确的显示出来。当然你可以设置--charset 到你所需要的编码。


最后由 sammeme 编辑于 2006-04-29 0:09,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2006-04-28 23:51 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
dapper的什么都不要设置啊。这个对于小老鼠,倒是可能有效。对gnome没意义了。


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2006-04-29 0:01 

注册: 2006-04-28 21:31
帖子: 198
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
dapper的什么都不要设置啊。这个对于小老鼠,倒是可能有效。对gnome没意义了。


如果您的LOCALE的默认设置是GBK或者是gb2312,以上我讨论的问题自然是没有。

你要是愿意可以自己做个实验:
把你的默认LOCALE设成UTF一类的,然后设置LC_CTYPE="zh_CN.GBK"以支持中文。你自己用U盘试试还显示正常不。

这个是pmount的问题跟windows manger 没有关系。


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2006-04-29 0:20 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
都是utf8啊。为什么要设置GBK的。都正常哦。


_________________
● 鸣学


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2006-04-29 0:30 

注册: 2006-04-28 21:31
帖子: 198
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
都是utf8啊。为什么要设置GBK的。都正常哦。


很多人的电脑上中文文件和文件夹是用GBK的编码来命名的。

utf8和GBK是不相容的。特别是文件名的显示方面,用GBK编码的文件名就不可能在utf8的环境中显示正常,反之易然。


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2006-05-16 12:33 

注册: 2005-11-28 10:43
帖子: 36
地址: 北京
送出感谢: 0 次
接收感谢: 0 次
chmod --reference=/usr/bin/pmount-utf8 /usr/bin/pmount
chown --reference=/usr/bin/pmount-utf8 /usr/bin/pmount

参数--reference=是什么意思


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2006-05-16 14:02 

注册: 2006-04-28 21:31
帖子: 198
送出感谢: 0 次
接收感谢: 0 次
xiang 写道:
chmod --reference=/usr/bin/pmount-utf8 /usr/bin/pmount
chown --reference=/usr/bin/pmount-utf8 /usr/bin/pmount

参数--reference=是什么意思


--reference= 后面跟参考文件. 这样做的话,我们就可以让这两个文件的权限和所属用户,组完全一致.


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2006-05-16 15:12 

注册: 2006-01-10 19:09
帖子: 1334
送出感谢: 0 次
接收感谢: 0 次
sammeme 写道:
eexpress 写道:
都是utf8啊。为什么要设置GBK的。都正常哦。


很多人的电脑上中文文件和文件夹是用GBK的编码来命名的。

utf8和GBK是不相容的。特别是文件名的显示方面,用GBK编码的文件名就不可能在utf8的环境中显示正常,反之易然。


硬盘可以在fstab里面加charset参数吧
gbk 好象很多人都反对
utf是趋势
我的优盘自动加载的 但是我也没有设置任何参数 中文名字正常 奇怪了


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2006-05-19 15:49 

注册: 2006-01-18 18:11
帖子: 254
送出感谢: 0 次
接收感谢: 0 次
虽然GBK很多人都反对 ,但如果要在windows和linux下交换文件的话,gbk是唯一选择。windows好像不支持utf-8的中文显示的。


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2006-05-19 18:19 

注册: 2006-04-28 21:31
帖子: 198
送出感谢: 0 次
接收感谢: 0 次
ltkun 写道:
sammeme 写道:
eexpress 写道:
都是utf8啊。为什么要设置GBK的。都正常哦。


很多人的电脑上中文文件和文件夹是用GBK的编码来命名的。

utf8和GBK是不相容的。特别是文件名的显示方面,用GBK编码的文件名就不可能在utf8的环境中显示正常,反之易然。


硬盘可以在fstab里面加charset参数吧
gbk 好象很多人都反对
utf是趋势
我的优盘自动加载的 但是我也没有设置任何参数 中文名字正常 奇怪了


fstab 上设置charset自由度有限,好比你设置好了sda1, 但是由于某种原因现在它被系统认到sdb1上了,这样你又得重新设置。charset只对fat32之类的文件系统有效。linux的文件系统比如ext2/3 reiserfs不会有这个局限。

如果你在gnome环境下操作你的U盘的话,那自动加载就不会有问题。gnome内部默认的的编码是UTF-8,所以用gnome的文件管理器创建的文件名是以UTF-8来编码的。 如果把你的U盘放到别人的GBK环境中,显示肯定会有问题的。


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2006-05-19 21:53 
头像

注册: 2005-08-25 13:58
帖子: 808
地址: ustc
送出感谢: 0 次
接收感谢: 0 次
我的编码就是utf8,在lin下往fat32上创建文件夹,在我的xp下面看很正常
而且,今天我就在lin下在u盘上建了一个叫"论文"的文件夹,把我的论文(用ms word写的:oops: )考了过去, 再考到实验室的xp上,什么问题都没有,在xp下,那个文件夹的中文好好的。
btw, 我用的是dapper


_________________
爱喝真猪奶茶的夜鸣猪


页首
 用户资料  
 
12 楼 
 文章标题 : dapper的fvwm都正常。
帖子发表于 : 2006-05-19 23:14 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
http://forum.ubuntu.org.cn/weblog_entry.php?e=825

代码:
exp@eexpress:/media$ pmount /dev/sda1
exp@eexpress:/media$ cat /etc/mtab |grep sda
/dev/sda1 /media/sda1 vfat rw,noexec,nosuid,nodev,quiet,shortname=mixed,uid=1000,gid=1000,umask=077,iocharset=utf8 0 0


_________________
● 鸣学


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 12 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译