diff --git a/rsync.c b/rsync.c index ee2f72b6..8595d517 100644 --- a/rsync.c +++ b/rsync.c @@ -58,7 +58,10 @@ static char *default_charset(void) #if defined HAVE_LIBCHARSET_H && defined HAVE_LOCALE_CHARSET return locale_charset(); #elif defined HAVE_LANGINFO_H && defined HAVE_NL_LANGINFO - return nl_langinfo(CODESET); + char *def = nl_langinfo(CODESET); + if (strcmp(def, "646") == 0) /* Solaris brain-damage */ + return "ascii"; + return def; #else return ""; /* Works with (at the very least) gnu iconv... */ #endif