当前位置: 技术问答>linux和unix
Linux浏览Windows中文目录乱码???
来源: 互联网 发布时间:2015-06-21
本文导语: 我在Linux9下浏览Windows中文目录是乱码,请高手指教在哪加语言设定,谢谢 | 转载:原出处http://www.linuxforum.net/forum/gshowflat.php?Cat=&Board=chinese&Number=465860&page=0&view=collapsed&sb=5&o=all&fpart= Linux文件系统本身并不在...
我在Linux9下浏览Windows中文目录是乱码,请高手指教在哪加语言设定,谢谢
|
转载:原出处http://www.linuxforum.net/forum/gshowflat.php?Cat=&Board=chinese&Number=465860&page=0&view=collapsed&sb=5&o=all&fpart=
Linux文件系统本身并不在乎你在上面用什么码,只要满足所谓file system
safe这一最低要求就行了:即文件名作为一串字符,单字节也好,多字节也好,
其中不得出现''和'/'。为什么会有这样的要求应该是一目了然的。
这个要求实在是太低了,所以你可以在同一文件系统里用ASCII作文件名,
也可以用GB2312(或者准确地说是EUC-CN)作文件名,还可以用BIG5作文件
名,既然他们都file system safe,文件系统根本不管,通通接收。于是为
了正确显示文件名,你只好一会儿用zh_CN.GB2312 locale来看GB文件名,
一会儿换到zh_TW.BIG5 locale来看BIG5文件名,来回折腾。这就是为什么
人们干脆要约定,Linux文件系统下应该只用UTF-8作文件名。
利用Samba来让Windows机器共用Linux文件系统,自然有个文件系统里的文
件名用什么编码的问题。Samba 3就default地认为文件系统上文件名用的
是UTF-8编码,如果client是Windows NT,200x,XP,因为他们总是用Unicode
(据说是UCS2-LE)传输信息,Samba 3只要为他们转一道就成了;但是对老的
DOS,Windows 9x/Me等client,Samba 3根本就没法知道那些client用什么
codepage,这时你只好根据你的用户来指定一种,告诉Samba 3,那些DOS,
Windows 9x/Me用户,都是用该种codepage,这种codepage由Samba的"dos
charset"设好。
总之,如果你在ext3文件系统上做一个Samba 3 share,最好用UTF-8文件名,
在Linux本机上用UTF-8 locale,如zh_CN.UTF-8,en_US.UTF-8也成;对NT,
200x,XP clients,不用做额外的设置;再根据DOS,9x/Me用户,设好Samba 3
的"dos charset"。
(可见RedHat将中文locale都换作UTF-8编码是多么英明。)
这些内容在
http://samba.linuxforum.net/samba/docs/man/
尤其是其中的
http://samba.linuxforum.net/samba/docs/man/unicode.html
一章讲得很详细。
Linux文件系统本身并不在乎你在上面用什么码,只要满足所谓file system
safe这一最低要求就行了:即文件名作为一串字符,单字节也好,多字节也好,
其中不得出现''和'/'。为什么会有这样的要求应该是一目了然的。
这个要求实在是太低了,所以你可以在同一文件系统里用ASCII作文件名,
也可以用GB2312(或者准确地说是EUC-CN)作文件名,还可以用BIG5作文件
名,既然他们都file system safe,文件系统根本不管,通通接收。于是为
了正确显示文件名,你只好一会儿用zh_CN.GB2312 locale来看GB文件名,
一会儿换到zh_TW.BIG5 locale来看BIG5文件名,来回折腾。这就是为什么
人们干脆要约定,Linux文件系统下应该只用UTF-8作文件名。
利用Samba来让Windows机器共用Linux文件系统,自然有个文件系统里的文
件名用什么编码的问题。Samba 3就default地认为文件系统上文件名用的
是UTF-8编码,如果client是Windows NT,200x,XP,因为他们总是用Unicode
(据说是UCS2-LE)传输信息,Samba 3只要为他们转一道就成了;但是对老的
DOS,Windows 9x/Me等client,Samba 3根本就没法知道那些client用什么
codepage,这时你只好根据你的用户来指定一种,告诉Samba 3,那些DOS,
Windows 9x/Me用户,都是用该种codepage,这种codepage由Samba的"dos
charset"设好。
总之,如果你在ext3文件系统上做一个Samba 3 share,最好用UTF-8文件名,
在Linux本机上用UTF-8 locale,如zh_CN.UTF-8,en_US.UTF-8也成;对NT,
200x,XP clients,不用做额外的设置;再根据DOS,9x/Me用户,设好Samba 3
的"dos charset"。
(可见RedHat将中文locale都换作UTF-8编码是多么英明。)
这些内容在
http://samba.linuxforum.net/samba/docs/man/
尤其是其中的
http://samba.linuxforum.net/samba/docs/man/unicode.html
一章讲得很详细。
|
mount -t vfat -o iocharset=cp936 /dev/hda5 /mnt/vfat
是hda后的数看看是多少
是hda后的数看看是多少
|
mount -o codepage=936 iocharset=cp936
指定字符集。
指定字符集。
|
楼上正解。如果是在文本模式下,要装zhcon。
|
我也想知道怎么解决,顶!
|
mount -t vfat -o iocharset=cp936 /dev/hdc5 /mnt/d
其中hdc5视情况而定.
其中hdc5视情况而定.