|
Home > Archive > PostgeSQL ODBC > February 2006 > Re: ANSI and Unicode driver
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Re: ANSI and Unicode driver
|
|
| Dave Page 2006-02-20, 11:23 am |
|
> -----Original Message-----
> From: pgsql-odbc-owner@postgresql.org
> [mailto:pgsql-odbc-owner@postgresql.org] On Behalf Of Peter Eisentraut
> Sent: 20 February 2006 16:05
> To: pgsql-odbc@postgresql.org
> Subject: [ODBC] ANSI and Unicode driver
>
> So really, what is the difference between the ANSI and the
> Unicode driver?
> The Unicode driver sets the client encoding to UTF-8, but
> does that mean that
> the client application has to use UTF-8 or does the driver
> manager convert
> that? What do you use if you have, say, a Chinese
> application. Or a Latin 1
> application but a UTF-8 database? How does this work? I'm confused.
The Unicode driver adds a bunch of unicode-specific APIs. Our ANSI
driver can handle Unicode data as multibyte strings as well, but without
the Unicode APIs that many non-multibyte aware versions of Windows
require (if that makes sense!).
Regards, Dave.
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings
| |
| Peter Eisentraut 2006-02-20, 1:23 pm |
| Dave Page wrote:
> The Unicode driver adds a bunch of unicode-specific APIs. Our ANSI
> driver can handle Unicode data as multibyte strings as well, but
> without the Unicode APIs that many non-multibyte aware versions of
> Windows require (if that makes sense!).
Well, the information available to me seems to indicate that Unicode
drivers will handle ANSI applications just fine, and of course our
Unicode driver will also handle any server encoding, so the question is
why the ANSI version needs to exist.
--
Peter Eisentraut
http://developer.postgresql.org/~petere/
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq
| |
| Dave Page 2006-02-20, 8:23 pm |
|
On 20/2/06 18:18, "Peter Eisentraut" <peter_e@gmx.net> wrote:
> Dave Page wrote:
>
> Well, the information available to me seems to indicate that Unicode
> drivers will handle ANSI applications just fine, and of course our
> Unicode driver will also handle any server encoding,
Yes,that's quite correct.
> so the question is
> why the ANSI version needs to exist.
Well, for 8.0 we did release only 1 driver for that reason, but we kept
getting odd reports that it didn't handle non-ASCII characters (with umlauts
or accents etc) properly in some situations, that others, including myself
could never reproduce.
After lots of on-list discussion in the latter part of last year during
which I made it clear on a number of occasions that we needed help from
someone who understood encodings better than I, we eventually concluded that
the best solution was to reinstate the old ansi driver, as it appeared to my
limited understanding that whilst basic ASCII characters mapped directly
into the lower bytes of the Unicode function function parameters, we needed
some conversion code to cope with other characters (which the SQL Server
driver appears to have as a configurable options for example).
Reinstating the ANSI only driver fixed things instantly for all those that
were complaining BTW, though I did note an email from Hiroshi Inoue earlier
today implying that it's actually the 'wise' DM that handles the conversion
(although the complainants were all on Windows iirc). FWIW, the
07_03_ENHANCED branch does only build the Unicode driver, though I'm not yet
sure if it will suffer the same problems that 08.00 did.
Feel free to explain what exactly is wrong if you know :-)
Regards, Dave.
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql
.org so that your
message can get through to the mailing list cleanly
|
|
|
|
|