* (currently mule internal code (mic) is used)
* Tatsuo Ishii
*
- * $PostgreSQL: pgsql/src/backend/utils/mb/mbutils.c,v 1.70 2008/04/12 23:21:04 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/mb/mbutils.c,v 1.71 2008/05/27 12:24:42 mha Exp $
*/
#include "postgres.h"
DatabaseEncoding = &pg_enc2name_tbl[encoding];
Assert(DatabaseEncoding->encoding == encoding);
+
+ /*
+ * On Windows, we allow UTF-8 database encoding to be used with any
+ * locale setting, because UTF-8 requires special handling anyway.
+ * But this means that gettext() might be misled about what output
+ * encoding it should use, so we have to tell it explicitly.
+ *
+ * In future we might want to call bind_textdomain_codeset
+ * unconditionally, but that requires knowing how to spell the codeset
+ * name properly for all encodings on all platforms, which might be
+ * problematic.
+ *
+ * This is presently unnecessary, but harmless, on non-Windows platforms.
+ */
+#ifdef ENABLE_NLS
+ if (encoding == PG_UTF8)
+ if (bind_textdomain_codeset("postgres", "UTF-8") == NULL)
+ elog(LOG, "bind_textdomain_codeset failed");
+#endif
}
void