Rsync with special character files not working between Mac and Linux
The solution was embarrassingly simple: Much due to a comment I read when researching the problem, I thought you were supposed to specify the character set in the order of transformation; but it seems as that is not the correct syntax. Rather, one should always use --iconv=utf-8-mac,utf-8
when initialising the rsync from the mac, and always use --iconv=utf-8,utf-8-mac
when initialising the rsync from the linux machine, no matter if I want to sync files from the mac or linux machine.
Then it works like magic!
EDIT: Indeed, sometimes, checking the manual page closely is a good thing to do. Here it is, black on white:
--iconv=CONVERT_SPEC
Rsync can convert filenames between character sets using this
option. Using a CONVERT_SPEC of "." tells rsync to look up the
default character-set via the locale setting. Alternately, you
can fully specify what conversion to do by giving a local and a
remote charset separated by a comma in the order
--iconv=LOCAL,REMOTE, e.g. --iconv=utf8,iso88591. This order
ensures that the option will stay the same whether you're push-
ing or pulling files.
I can confirm this works, I was having the same problem. In my case any file with an accented character was unreadable on the destination. I only spotted it by running a folder comparison on my Mac using the Compare Folders application: https://itunes.apple.com/gb/app/compare-folders/id816042486?mt=12
Added the above --iconv=utf-8-mac,utf-8 and BOOM! rsync replaced every accented file with a new one.
To add some information as it seems the above links no longer work, to upgrade rsync to 3.1.2, install Macports and run: sudo port install rsync
The reason why you were seeing the remote server returning version 2.6.9 is because the old version is actually still there and the remote server is seeing that one instead of the new one.
Version 2.6.9 is located in /usr/bin