codepage
am 04.05.2006 18:01:17 von Patrick Welche--NzB8fVQJ5HfG6fxh
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Looking yet further at
ERROR: conversion between latin9 and LATIN1 is not supported
mulitbyte.c looks as though it needs the included patch, because
support for WIN1252 encoding was added to the server on 2005/03/14
so was released with 8.1 (2005/11/08), and because latin9 is a
worse match for win1252 than latin1.
e.g., your windows client with win1252 sends a 1/2 character, 0xbd to
a 8.1 server. The odbc code says 8.1>=7.1, I'll send 0xbd as latin9.
But, 0xbd in latin9 is oe. 0xbd in latin1 is 1/2 and what you would
expect.
Some might say "ah but the euro symbol which exists in win1252 exists
in latin9 but not in latin1". OK, but I would you represent it?
In win1252, euro is 0x80. Send 0x80 as latin1 or latin9, get nothing -
it's in the 0x80-0x9f control character range.
Thoughts?
Cheers,
Patrick
--NzB8fVQJ5HfG6fxh
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="mb.pat"
Index: multibyte.c
============================================================ =======
RCS file: /cvsroot/psqlodbc/psqlodbc/multibyte.c,v
retrieving revision 1.44
diff -u -r1.44 multibyte.c
--- multibyte.c 27 Apr 2006 14:49:04 -0000 1.44
+++ multibyte.c 4 May 2006 15:50:56 -0000
@@ -424,8 +424,8 @@
case 1252:
if (oldenc)
;
- else if (PG_VERSION_GE(conn, 7.2))
- wenc = "latin9";
+ else if (PG_VERSION_GE(conn, 8.1))
+ wenc = "WIN1252";
else
wenc = "latin1";
break;
--NzB8fVQJ5HfG6fxh
Content-Type: text/plain
Content-Disposition: inline
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq
--NzB8fVQJ5HfG6fxh--