LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1145|回复: 8

为啥在U盘下建立中文名的文件(夹)到Vista下就乱码?

[复制链接]
发表于 2008-6-6 13:35:35 | 显示全部楼层 |阅读模式
不知道是不是因为UTF-8编码在搞鬼。
Arch下在U盘里面建立的中文名文件或者文件夹,在Vista下面显示的就是乱码。
但是在Vista下面建立的话在Arch下面就没问题。
不知道大家又没有注意到。
发表于 2008-6-6 14:15:48 | 显示全部楼层
使用utf8挂载,也就是说需要和使用的locale相同,应该不会有问题的。。我这里没有问题
回复 支持 反对

使用道具 举报

发表于 2008-6-6 16:13:59 | 显示全部楼层
所以说,一个语言搞多种编码实在很讨厌!

全世界都只用一种编码——UTF8,多好!沟通起来什么麻烦都没有,也不用考虑转码,兼容的问题。
回复 支持 反对

使用道具 举报

发表于 2008-6-6 17:35:59 | 显示全部楼层
不仅仅是Vista,winxp也一样会看到乱码。
回复 支持 反对

使用道具 举报

发表于 2008-6-6 18:10:38 | 显示全部楼层
不知道是不是因为UTF-8编码在搞鬼。
相反,是因为Vista不支持utf8或者说不完全支持造成的。在你写入U盘时,由于没有指定以UTF8挂载,所以直接就也UTF8编码写入了,而不是VFAT默认的简体中文gb2312或GBK。如果你指定以UTF8挂载,系统会自动识别当前U盘的代码页,并透明的在GBK和UTF8中转换。也就是说,U盘的文件名以GBK编码但是能够在你的UTF8系统中正常显示,然后当你写入时,系统自动把UTF8转换为GBK写入到U盘。但是这种情况下只影响文件名,对于文件本身的编码没有影响。
回复 支持 反对

使用道具 举报

发表于 2008-6-30 19:09:12 | 显示全部楼层
Post by ganloo;1859854
相反,是因为Vista不支持utf8或者说不完全支持造成的。在你写入U盘时,由于没有指定以UTF8挂载,所以直接就也UTF8编码写入了,而不是VFAT默认的简体中文gb2312或GBK。如果你指定以UTF8挂载,系统会自动识别当前U盘的代码页,并透明的在GBK和UTF8中转换。也就是说,U盘的文件名以GBK编码但是能够在你的UTF8系统中正常显示,然后当你写入时,系统自动把UTF8转换为GBK写入到U盘。但是这种情况下只影响文件名,对于文件本身的编码没有影响。



老兄,你解了我心中一大疑惑啊,谢谢了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-2 19:41:59 | 显示全部楼层
老兄,能否给出解决办法,而不是只谈论理论。
回复 支持 反对

使用道具 举报

发表于 2008-7-2 22:05:08 | 显示全部楼层
简单的说,你需要使用utf8挂载你的u盘(vfat/ntfs)分区,具体请搜索论坛。如果你只是想解决具体问题而不想知道为何,为什么不直接搜索呢?关于解决这种问题的帖子非常的多。
回复 支持 反对

使用道具 举报

发表于 2008-7-8 21:54:37 | 显示全部楼层
Post by wangqy;1859840
不仅仅是Vista,winxp也一样会看到乱码。


我用:mount /dev/sdb5 /mnt/flashdisk -o iocharset=utf8,umask=000

在winXP下没有乱码的麻烦。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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