[问题]smbmount挂载windows2000中文服务器版中文文件与目录乱码[已更新]

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
hiddendragon
帖子: 9
注册时间: 2007-07-03 10:42

[问题]smbmount挂载windows2000中文服务器版中文文件与目录乱码[已更新]

#1

帖子 hiddendragon » 2007-08-10 10:37

客户端:ubuntu 7.04 locale: en_CA(因为需要英文环境,这个不想更改)而且已经添加了中文的支持,无论在终端或是GNOME中都没有问题。
服务器端:windows 2000 server 中文版 codepage: cp936

现象:在GNOME的nautilus中或者在终端中使用smbclient均可以看到中文目录,无需额外配置。但如果使用smbmount命令,则中文目录和文件名均为乱码。尝试了多种iocharset和codepage的组合也无效。实在让人感到郁闷。请大家看看是什么地方的问题,谢谢!

代码: 全选

#中文始终显示乱码
sudo smbmount //server/shared /localshared -o username=abc workgroup=workgroup iocharset=utf8 codepage=cp936
sudo smbmount //server/shared /localshared -o username=abc workgroup=workgroup iocharset=utf8 codepage=cp936 unicode
sudo smbmount //server/shared /localshared -o username=abc workgroup=workgroup iocharset=unicode codepage=cp936

代码: 全选

#所支持的locale
$locale -a
C
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX
zh_CN.utf8
zh_HK.utf8
zh_SG.utf8
zh_TW.utf8
更新:

大概找到了原因:
在nautilus中可以正常显示中文是因为调用的是smbclient命令,对client/server的编码支持比较好。
在终端中无法正常显示是因为client的iocharset实际上是en_CA.utf8,而server的codepage是cp936,smbmount命令似乎无法在这两者进行正常转换。mount成功后,在client端建立的中文目录名在server显示则是乱码。

要解决这个问题要么将client的locale设置成zh_CN.utf8,要么将server端的locale设置成utf8
不知道这算不算是bug?
上次由 hiddendragon 在 2007-09-02 1:21,总共编辑 2 次。
hiddendragon
帖子: 9
注册时间: 2007-07-03 10:42

#2

帖子 hiddendragon » 2007-08-17 12:50

Any suggestions, please.
回复