LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: skywarship

问个关于smbmount的问题

[复制链接]
 楼主| 发表于 2007-3-31 22:59:12 | 显示全部楼层
Post by skywarship
把服务器的locale设成了utf-8,重起后从xp访问乱码了,在sid客户机(utf-8)上用gnome的文件浏览器访问是正常的,mount是不管加不加参数都是乱码


这个是“服务器全部用utf8,然后samba设置dos charset=cp936其它两个都默认”时的结果,如果加上
client code page = 936
unix charset = cp936
的话,从xp的访问是正常的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-31 23:23:15 | 显示全部楼层
Post by skywarship
这个是“服务器全部用utf8,然后samba设置dos charset=cp936其它两个都默认”时的结果,如果加上
client code page = 936
unix charset = cp936
的话,从xp的访问是正常的


好像从xp访问跟client code page没关系,把这个去掉也可以正常访问
回复 支持 反对

使用道具 举报

发表于 2007-4-1 00:53:28 | 显示全部楼层
Post by skywarship
呵呵,服务器也不设的话,连从xp访问都乱码了

这可能是因为服务器上现已存在的文件名使用的是过去设定的编码方式。如果服务器端不设置任何编码,新建文件的操作也全部在客户端上进行,应该是不会出现乱码的。

因为这种情况下,服务器端不对文件名进行任何处理,客户端创建的是什么,服务器返回的还是什么。
回复 支持 反对

使用道具 举报

发表于 2007-4-1 09:18:46 | 显示全部楼层
mount的时候加上选项
codepage=cp936,iocharset=utf8

iocharset要和客户机locale保持一致,codepage和服务器保持一致。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-1 13:04:38 | 显示全部楼层
今天又试了下,发现犯了一个低级错误,iocharset写成utf-8了,改成utf8之后一切正常。正像xw_xiao总结的,iocharset和客户机locale保持一致,codepage和服务器保持一致。

谢谢bufferfly,springwind426,FireMeteor和xw_xiao的关注。
回复 支持 反对

使用道具 举报

发表于 2007-4-1 14:21:21 | 显示全部楼层
Post by skywarship
把服务器的locale设成了utf-8,重起后从xp访问乱码了,在sid客户机(utf-8)上用gnome的文件浏览器访问是正常的,mount是不管加不加参数都是乱码

你虽然设置成utf-8了,可是你原来的那些文件名都是gb2312编码的

你需要用软件将原来的文件名都转换成utf-8编码的,否则是有显示问题的。(gnome的文件浏览器好象是能够正确识别字符编码的。)

我用的是gb2312,用rox-file做文件浏览器,如果有文件名是utf-8的编码的话,是能够正确显示的,可是在虚拟终端中是不能识别的(我用的是mlterm,locale是gb2312)

因此最好在终端下进行查看(如果你从来不使用终端来操作文件那又另当别论了 :))

软件包convmv可以一次性的将所有的文件和目录名从一种编码转换为另一种编码。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-1 17:25:15 | 显示全部楼层
Post by springwind426
你虽然设置成utf-8了,可是你原来的那些文件名都是gb2312编码的

你需要用软件将原来的文件名都转换成utf-8编码的,否则是有显示问题的。(gnome的文件浏览器好象是能够正确识别字符编码的。)

我用的是gb2312,用rox-file做文件浏览器,如果有文件名是utf-8的编码的话,是能够正确显示的,可是在虚拟终端中是不能识别的(我用的是mlterm,locale是gb2312)

因此最好在终端下进行查看(如果你从来不使用终端来操作文件那又另当别论了 :))

软件包convmv可以一次性的将所有的文件和目录名从一种编码转换为另一种编码。

我就是从终端访问是乱码啊,用文件浏览器一直是好的

现在的设置是服务器locale是GB2312,smb设置
dos charset = cp936
unix charset = cp936
客户机locale是zh_CN.UTF-8
mount参数为codepage=cp936,iocharset=utf8
一切正常
回复 支持 反对

使用道具 举报

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

本版积分规则

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