zbhdpx 发表于 2010-01-07 16:37

Rsync文件传输乱码问题及处理方法


使用iconv参数进行转换,可解决中文文件名乱码问题,使用参数
--iconv=locale_charset,remote_charset
rsync for Linux 3.0 ,rsync for Windows (cwRsync_Server) 2.14以上版本 支持,需要客户端服务端都是新版本
服务端配置文件需要加上:
charset=gb2312
否则客户端无法使用--iconv参数
使用以下命令双向同步:
rsync -rvzt -u --update -i --iconv utf8,gb2312 nobody@91linux.cn::test /data/Test
rsync -rvzt -u --update -i --iconv utf8,gb2312 /data/Test/*
myuser@91linux.cn::test
我的服务端是freebsd6.2,要转换字符
#setenv LANG gb2312
#locale
LANG=gb2312
LC_CTYPE="C"
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
同时rsyncd.conf里边要加上:charset=gb2312
然后/usr/local/etc/rc.d/rsyncd restart
那么客户端使用:
rsync -avzP --iconv=utf-8,gb2312
work@XX.XX.XX.XX::home
/test
这样就可以把服务端的中文正确的同步过来。


顺便看一下这里:Freebsd解决乱码问题。
http://blog.chinaunix.net/u/18630/showart.php?id=1917305



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/18630/showart_2143260.html
页: [1]
查看完整版本: Rsync文件传输乱码问题及处理方法