Chinaunix

标题: FreeBSD-7.0 mount_msdosfs 中文文件名的问题 [打印本页]

作者: wsw1wsw2    时间: 2008-03-05 12:36
标题: FreeBSD-7.0 mount_msdosfs 中文文件名的问题
我用这个命令:
mount_msdosfs -L zh_CN.* -D CP936 /dev/da* /mnt

就是试了所有zh_CN.*的locale,都显示不了中文文件名。
环境的locale是UTF-8的。
是不是目前的msdosfs 不支持转换到UTF-8的编码啊?

以前的贴子说: 用 -L zh_CN.eucCN 但是外部的locale也要zh_CN.eucCN才可以显示中文。
但是我现用UTF-8的外部locale。是不是目前没有办法解决?

后来查看了 fs/msdosfs/msdos_iconv.c 这个文件,里面就一个宏。

还有KERNLE 里面的 options MSDOSFS_ICONV 之类的*_ICONV 设了也不管用。
作者: dq2004    时间: 2008-03-05 14:13
刚装FB的时候我也试着用UTF-8,确实不行,最后还是转回eucCN。
感觉FB对UTF8的支持比不上LINUX,不过话说回来用eucCN或是GBK也够了。
而且用了UTF8反而有一些问题,比如在UTF8环境下创建的中文文件名在XP下是乱码,
控制台程序输出UTF8编码的中文在XP下也是乱码,总之搞不清楚XP的UNICODE支持到底是怎么回事。
作者: wsw1wsw2    时间: 2008-03-05 17:41
按照楼上的说法,确实在FreeBSD下msdosfs是没有转换成UTF-8的功能咯?
像Linux里mount VFAT 就有 -o iocharset一说。
好像FB里没有。

正好有点时间,hack on it.....
作者: 995636    时间: 2008-03-05 19:20
fb的zh_CN.UTF-8对windows分区的支持的确不好。

GBK(cp936)是现在fb在转换中能支持的最好的字符集了。

UCS-2 -> GBK 好像是现在的windows使用的中文的显示方法,在fb下UCS-2 -> utf-8 的中文转换好像不是自动的,不过手动调用iconv还是可以用的。

如果lz能帮助大家解决这个问题,那太好了。
作者: dq2004    时间: 2008-03-06 10:23
补充一下,FB是否不支持WIN分区的UTF-8转换我也不敢妄下结论,反正我也是试过不少组合都没搞定。

除了LZ所说的-o iocharset(以及加上-o codepage),也试过在/etc/fstab里的option字段加上
utf8(vfat)或nls=utf8(ntfs)都不支持,还有综合测试在不同组合下fcitx、xterm、mlterm、
vim、emacs、dict、BBS等程序和应用,以及console下相关程序的中文支持效果,感觉eucCN
可能是适用范围最广的locale了,WIN分区的挂载参数我用了-L zh_CN.GBK -D CP936,即GBK的
转码倒是也能跟eucCN相容,主要是想给emacs用,但FB默认的emacs版本是22的,不支持GBK,
所以真正的GBK编码还是不行(包括mlterm和xterm),不过还好很少碰到。

当然说到不支持可能也跟用什么终端或程序查看以及字体有关,主要是中文支持的配置问题,
反正我是把我所知的配置方法都用上了也没在UTF8下获得满意的效果,也希望楼主能研究出来。
作者: gulch    时间: 2008-06-28 15:06
UTF-8我也是搞不定呀,
现用eucCN
作者: tecer    时间: 2008-06-28 17:02
提示: 作者被禁止或删除 内容自动屏蔽
作者: fayfarn    时间: 2008-06-29 11:30
原帖由 dq2004 于 2008-3-5 14:13 发表
刚装FB的时候我也试着用UTF-8,确实不行,最后还是转回eucCN。
感觉FB对UTF8的支持比不上LINUX,不过话说回来用eucCN或是GBK也够了。
而且用了UTF8反而有一些问题,比如在UTF8环境下创建的中文文件名在XP下是 ...


XP的UNICODE是使用UTF-16
作者: fayfarn    时间: 2008-06-29 11:33
使用UTF-8的locale时,挂载msdosfs分区应该不需要加任何指定编码的参数
作者: hy0kl    时间: 2008-06-29 11:38
标题: 来自网络收藏
FreeBSD挂载win分区大全

# mount_msdosfs -L zh_CN.GBK /dev/设备 /mnt/挂载点 (fat格式)
# mount_ntfs -C GBK /dev/设备 /mnt/挂载点 (ntfs格式)
# mount_cd9660 -C GBK /dev/设备 /cdrom
作者: asd2003asd    时间: 2012-10-02 23:09
好方法回复 10# hy0kl


   




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2