|
|
|
|
@ -4,7 +4,7 @@ |
|
|
|
|
* (currently mule internal code (mic) is used) |
|
|
|
|
* Tatsuo Ishii |
|
|
|
|
* |
|
|
|
|
* $PostgreSQL: pgsql/src/backend/utils/mb/mbutils.c,v 1.79 2009/03/02 15:10:09 teodor Exp $ |
|
|
|
|
* $PostgreSQL: pgsql/src/backend/utils/mb/mbutils.c,v 1.80 2009/03/08 16:07:12 alvherre Exp $ |
|
|
|
|
*/ |
|
|
|
|
#include "postgres.h" |
|
|
|
|
|
|
|
|
|
@ -891,22 +891,27 @@ SetDatabaseEncoding(int encoding) |
|
|
|
|
DatabaseEncoding = &pg_enc2name_tbl[encoding]; |
|
|
|
|
Assert(DatabaseEncoding->encoding == encoding); |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* On Windows, we need to explicitly bind gettext to the correct |
|
|
|
|
* encoding, because gettext() tends to get confused. |
|
|
|
|
*/ |
|
|
|
|
pg_bind_textdomain_codeset(textdomain(NULL), encoding); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* On Windows, we need to explicitly bind gettext to the correct |
|
|
|
|
* encoding, because gettext() tends to get confused. |
|
|
|
|
*/ |
|
|
|
|
void |
|
|
|
|
pg_bind_textdomain_codeset(const char *domainname, int encoding) |
|
|
|
|
{ |
|
|
|
|
#if defined(ENABLE_NLS) && defined(WIN32) |
|
|
|
|
{ |
|
|
|
|
int i; |
|
|
|
|
int i; |
|
|
|
|
|
|
|
|
|
for (i = 0; i < sizeof(codeset_map_array) / sizeof(codeset_map_array[0]); i++) |
|
|
|
|
for (i = 0; i < lengthof(codeset_map_array); i++) |
|
|
|
|
{ |
|
|
|
|
if (codeset_map_array[i].encoding == encoding) |
|
|
|
|
{ |
|
|
|
|
if (codeset_map_array[i].encoding == encoding) |
|
|
|
|
{ |
|
|
|
|
if (bind_textdomain_codeset(textdomain(NULL), codeset_map_array[i].codeset) == NULL) |
|
|
|
|
elog(LOG, "bind_textdomain_codeset failed"); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
if (bind_textdomain_codeset(domainname, |
|
|
|
|
codeset_map_array[i].codeset) == NULL) |
|
|
|
|
elog(LOG, "bind_textdomain_codeset failed"); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|
|