Hello,
ich have fixed this issue now.
I've downloaded the source code of the psqlodbc-Driver and took-a-look to
the file win_unicode.c
Then I modified the second conversion method in this file: ucs2_to_utf8(..)
In the main if-statement it now doesn't ask wether the char is a
"iswasscii()" or not, it now interpretes the given char as encoded in just
ONE byte (Code for one-byte chars let in original). Believe my, now
everything works. Umlaute from an to the DB, it all runs. Encoding is
client-side and database-side in LATIN1.
Regards,
R M Kramer
----- Original Message -----
From: "Marko Ristola" <marko.ristola@kolumbus.fi>
To: <pgsql-odbc@postgresql.org>
Sent: Monday, April 11, 2005 7:06 PM
Subject: Re: [ODBC] Driver uses always UTF-8?
>
> Hello,
>
> If I have understood the PostgreSQL ODBC driver, it supports
> Unicode on Windows. In that case, the database needs to be in UTF-8.
>
> In the World, there is a LATIN1 -> UTF-8(UNICODE) transition going on.
> So, LATIN1 users have a higher risk of finding new faults, like
> this one in the PostgreSQL ODBC driver.
>
>
> In my opinion, DB2 works, because the DB2 ODBC client driver
> does charset conversions from the database charset into the
> client charset and vice versa.
>
> I don't know the current state of PostgreSQL ODBC on this regard.
> It would be very nice, if the database server could be in UTF-8
> and some old application would use LATIN1 and some new
> application could use UTF-8 at the same time ...
>
> Regards,
> Marko Ristola
>
> Robert Max Kramer wrote:
>
>> Hello,
>>
>> I want to substitue an existing DB2 to PG 8 and got a Problem. Much of
>> our applications are written in Cobol and are using ODBC Interface to get
>> data. With DB2, that runs.
>>
>> The Problem is now in my Test Environment when I connect to PG that I can
>> read everything well except german umlaute (ä, ü,...). I always get "?"
>> and not the umlaut.
>> My database's encoding is LATIN1. Windows Codepage tried with 850 and
>> 1252.
>>
>> When I read with client-side encoding UNICODE, I got the umlaute, but I
>> cannot write them to PG. Wirte statements like INSERTs work with LATIN1
>> encoding.
>>
>> But something that never worked is, when I send a statement which should
>> return values with umlaute in it and which have umlaute in a
>> WHERE-clause. like: SELECT...FROM...WHERE text='ä';
>>
>> I have tested it under WinNT as well as under WinXP. Same problem. Does
>> anyone have an idea?
>>
>> Greetings,
>> R M Kramer