If rsync-3.0.0pre1 is called like rsync --iconv=UTF-8-MAC,UTF-8 SOURCE HOST:DEST the client charset, here UTF-8-MAC, is forwarded to the server process rather than the specified destination charset UTF-8. This is due a bug in setup_iconv() where iconv_opt isn't truncated to the destination charset as expected by server_options(...).
Created attachment 2938 [details] truncate iconv_opt to target charset Added patch to truncate iconv_opt to target charset after parsing. I'm not sure if it's save in any circumstances but it fixes this bug in the case described above.
The problem came about due to my repositioning the setup_iconv() function too early in the startup sequence. I've moved it so that it gets called appropriately for a client, a server, and a local-copy (where we fork a "server"). Thanks for the report!