#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