免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6141 | 回复: 12
打印 上一主题 下一主题

求助:关于linux的samba和ftp字符集的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-02-08 10:54 |只看该作者 |倒序浏览
我现在装的系统是rhel4.4,使用的是系统自带的samba服务器和vsftp服务器
数据所在的分区的格式为ext3
现在的问题是:
我在系统里和samba共享里看到的文件都是正常的,没有乱码
但是用ftp客户端登陆上去,中文名都是乱码
用ftp客户端上传的中文名的文件,在ftp客户端里看到的是正常的,但是在系统里和samba里是乱码

我现在大体知道是因为字符集的问题,系统使用的是utf-8,但是ftp的客户端不支持

想请教各位,有什么好的办法能解决这个问题吗?
多谢了

论坛徽章:
0
2 [报告]
发表于 2007-02-08 12:29 |只看该作者
原帖由 waterghost 于 2007-2-8 10:54 发表于 1楼  
我现在装的系统是rhel4.4,使用的是系统自带的samba服务器和vsftp服务器
数据所在的分区的格式为ext3
现在的问题是:
我在系统里和samba共享里看到的文件都是正常的,没有乱码
但是用ftp客户端登陆上去,中文名都是乱码
用ftp客户端上传的中文名的文件,在ftp客户端里看到的是正常的,但是在系统里和samba里是乱码

我现在大体知道是因为字符集的问题,系统使用的是utf-8,但是ftp的客户端不支持

想请教各位,有什么好的办法能解决这个问题吗?
多谢了


更换 ftp client,比方你的 windows 上使用 FileZilla 可以选 utf-8 存取,linux 上使用 lftp 命令列程式也可以改。

另外一种方式是改 server 端 ftpd 本身,比方 pure-ftpd 可以支援设定 server 与 client 两端编码应对。另外 proftpd 也有人纳入 patch 可以支援该功能,只是没有进入官方的版本内。

--

论坛徽章:
0
3 [报告]
发表于 2007-02-08 14:44 |只看该作者

回复 #2 kenduest 的帖子

谢谢你的回答
我现在更换为filezilla,已经可以使用了,但是领导觉得这样不好,希望是能把服务器的编码改为gb2312的,这样,任何一个 ftp工具都可以正常使用了。
另外你说的pure-ftpd能实现两端编码应对,不知道vsftp能不能支持?

我现在想把rhel的编码方式改为gb2312,不知道具体怎么实现
比如说,我现在通过samba把服务器上的所有数据都拷贝到windows下的一个临时目录,然后把服务器的编码方式改为gb2312,之后再把数据都拷贝回去

不知道这样行不行,也不知道怎么转换这个编码

论坛徽章:
0
4 [报告]
发表于 2007-02-08 15:17 |只看该作者
原帖由 waterghost 于 2007-2-8 14:44 发表于 3楼  
我现在更换为filezilla,已经可以使用了,但是领导觉得这样不好,希望是能把服务器的编码改为gb2312的,这样,任何一个 ftp工具都可以正常使用了。
另外你说的pure-ftpd能实现两端编码应对,不知道vsftp能不能支持?


vsftpd ? 尚未看到支援的 patch。

我现在想把rhel的编码方式改为gb2312,不知道具体怎么实现
比如说,我现在通过samba把服务器上的所有数据都拷贝到windows下的一个临时目录,然后把服务器的编码方式改为gb2312,之后再把数据都拷贝回去


可以,你的 samba 配置改一下就好。samba 3.x 有提供 dos charset 与 unix charset,都指定为 GB2312 这类配置即可。

不知道这样行不行,也不知道怎么转换这个编码[/quote]

先把 samba 档案复制到 windows,把上面提到 samba 配置改一下,重新把档案复制回到 linux 上面就可以了。

--

论坛徽章:
0
5 [报告]
发表于 2007-02-08 15:49 |只看该作者
我在smb.conf里没找到dos charset 和 unix charset呀,是不是默认的就是自动转换呀?

我在测试一下

论坛徽章:
0
6 [报告]
发表于 2007-02-08 15:50 |只看该作者
原帖由 waterghost 于 2007-2-8 15:49 发表于 5楼  
我在smb.conf里没找到dos charset 和 unix charset呀,是不是默认的就是自动转换呀?
我在测试一下


samba 3.x 你可以先看一下 manpage 找一下相关资讯。

--

论坛徽章:
0
7 [报告]
发表于 2007-02-08 16:40 |只看该作者
非常感谢!
我刚才看了man smb.conf
正在测试,smbd好像是每隔一段时间就读smb.conf
我在smb.conf里修改的了dos charset和unix charset,过了一会就生效了,呵呵
先把系统里的数据拷贝出来,然后修改smb.conf,然后再拷贝回去,这个方法是可行的

再次感谢!

我看系统启动的时候,默认的是zh_CN.UTF-8,就是在/etc/sysconfig/i18n里的LANG参数,有没有必要把这个参数也改成gb2312

论坛徽章:
0
8 [报告]
发表于 2007-02-08 16:42 |只看该作者
原帖由 waterghost 于 2007-2-8 16:40 发表于 7楼  
我看系统启动的时候,默认的是zh_CN.UTF-8,就是在/etc/sysconfig/i18n里的LANG参数,有没有必要把这个参数也改成gb2312?


一并改也好,这样后续 shell or X 环境操作比较不会遇到问题点.

--

论坛徽章:
0
9 [报告]
发表于 2007-02-08 17:31 |只看该作者
非常感谢,这个问题已经很圆满的解决了,谢谢!

论坛徽章:
0
10 [报告]
发表于 2007-02-09 18:21 |只看该作者
LZ能把你的方法贴出来 让我看看吗`
我这几天也在为这件事情烦恼`
`
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP