当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]smbmount挂载windows2000中文服务器版中文文件与目录乱码[已更新]
帖子发表于 : 2007-08-10 10:37 

注册: 2007-07-03 10:42
帖子: 9
送出感谢: 0 次
接收感谢: 0 次
客户端: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 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-08-17 12:50 

注册: 2007-07-03 10:42
帖子: 9
送出感谢: 0 次
接收感谢: 0 次
Any suggestions, please.


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

当前时区为 UTC + 8 小时


在线用户

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


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

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

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