"Dave Page" <dpage(at)vale-housing(dot)co(dot)uk> writes:
> I've been thinking about this whilst getting dragged round the shops
> today, and having read Marko's, Johann's, Hiroshi's and other emails,
> not to mention bits of the ODBC spec, here's where I think we stand.
> 1) The current driver works as expected with Unicode apps.
> 2) 7 bit ASCII apps work correctly. The driver manager maps the ANSI
> functions to the Unicode ones, and because (as I think Marko pointed
> out) the basic latin chars map directly into the lower Unicode
> characters (see http://www.unicode.org/charts/PDF/U0000.pdf).
> 3) Some other single byte LATIN encodings do not work. This is because
> the characters do not map directly into Unicode 80-FF
> 4) Multibyte apps do not work. I believe that in fact they never will
> with a Unicode driver, because multibyte characters simply won't map
> into Unicode in the same way that ASCII does. The user cannot opt to use
> the non-wide functions, because the DM automatically maps them to the
> Unicode versions.
> Because the Driver Manager forces the user to use the *W functions if
> they exist, I cannot see any way to make 3 or 4 work with a Unicode
I agree that 4) can never work, because ODBC does not seem compatible
with multibyte apps by design. ODBC caters for "ANSI" and "Unicode"
strings, that's all.
However, I don't get why 3) does not work. From here:
If the driver is a Unicode driver, the Driver Manager makes function
calls as follows:
- Converts an ANSI function (with the A suffix) to a Unicode function
(with the W suffix) by converting the string arguments into Unicode
characters and passes the Unicode function to the driver.
Are you saying in 3) that the "converting" underlined above is
actually just a static cast?!
Is this "bug" true for every driver manager out there?
In response to
pgsql-odbc by date
|Next:||From: Dave Page||Date: 2005-11-21 22:20:42|
|Subject: Re: Continuing encoding fun....|
|Previous:||From: noreply||Date: 2005-11-21 06:30:30|
|Subject: [ psqlodbc-Bugs-1000435 ] Special characters in table names|