rsync-3.0.0pre10 and iconv

sami.pitko at vaisala.com sami.pitko at vaisala.com
Tue Feb 26 12:14:34 GMT 2008


Hello,

I am trying to get rsync-3.0.0pre10 --iconv option working between two linux hosts in local network.

The client host is running Fedora Core 4 (kernel 2.6.17) and is using iso8859-1 character set. LANG=en_US

The daemon host is running Centos 5 (kernel 2.6.18) and is using utf-8 character set. LANG=en_US.UTF-8

Rsync is transferring files properly without --iconv switch:

fc4: (connected using putty with translation set to ISO-8859-1:1998 (Latin-1, West Europe))

$ ls test/
example-file-öäå.txt  example.txt

centos5: (connected using putty with translation set to UTF-8)

$ ls test/
example-file-???.txt  example.txt
$ ls test/ | iconv -f iso88591 -t utf8
example-file-öäå.txt
example.txt

The daemon settings in rsyncd.conf for the module has following line:

        charset = utf8

When I try to use --iconv=iso88591,utf8 on the client side, following errors are displayed:

fc4:
[receiver] cannot convert filename: test/example-file-öäå.txt (Invalid or incomplete multibyte or wide character)

centos5:
rsyncd[pid-number]: [receiver] cannot convert filename: test/example-file-???.txt (Invalid or incomplete multibyte or wide character)

(high bit characters replaced with question marks above)

I have tried the transfer with following combinations, but none of them have worked.

client side:
--iconv=.
--iconv=iso88591
--iconv=iso88591,utf8

daemon side:
charset = .
charset = utf8

I am able to convert the filenames manually in the daemon host using convmv script, http://www.j3e.de/linux/convmv/

before convmv:

$ ls test/ | od -c
0000000   e   x   a   m   p   l   e   -   f   i   l   e   - 366 344 345
0000020   .   t   x   t  \n   e   x   a   m   p   l   e   .   t   x   t
0000040  \n
0000041

after convmv:

$ ls test/ | od -c
0000000   e   x   a   m   p   l   e   -   f   i   l   e   - 303 266 303
0000020 244 303 245   .   t   x   t  \n   e   x   a   m   p   l   e   .
0000040   t   x   t  \n
0000044

Should rsync be able to convert filenames from single byte (iso8859-1) to multibyte character set (utf-8)?

Has anyone got iso8859-1 to utf-8 conversion working with rsync-3.0.0pre10?

Regards,
Sami
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the rsync mailing list