aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/libpgtcl/pgtcl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/libpgtcl/pgtcl.c')
-rw-r--r--src/interfaces/libpgtcl/pgtcl.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/interfaces/libpgtcl/pgtcl.c b/src/interfaces/libpgtcl/pgtcl.c
index 6da179ced57..64a32464873 100644
--- a/src/interfaces/libpgtcl/pgtcl.c
+++ b/src/interfaces/libpgtcl/pgtcl.c
@@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtcl.c,v 1.21 2001/03/22 04:01:23 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/interfaces/libpgtcl/Attic/pgtcl.c,v 1.22 2001/09/10 14:49:12 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -29,6 +29,7 @@
int
Pgtcl_Init(Tcl_Interp *interp)
{
+ double tclversion;
/*
* finish off the ChannelType struct. Much easier to do it here then
@@ -39,6 +40,13 @@ Pgtcl_Init(Tcl_Interp *interp)
Pg_ConnType.getFileProc = PgGetFileProc;
#endif
+ /*
+ * Tcl versions >= 8.1 use UTF-8 for their internal string representation.
+ * Therefore PGCLIENTENCODING must be set to UNICODE for these versions.
+ */
+ Tcl_GetDouble(interp, Tcl_GetVar(interp, "tcl_version", TCL_GLOBAL_ONLY), &tclversion);
+ if (tclversion >= 8.1) setenv("PGCLIENTENCODING", "UNICODE", 1);
+
/* register all pgtcl commands */
Tcl_CreateCommand(interp,
"pg_conndefaults",