Re: Usind database with encoding UNICODE and vovel - Mailing list pgsql-odbc

From Josef Springer
Subject Re: Usind database with encoding UNICODE and vovel
Date
Msg-id 42F1D592.6070400@joops.com
Whole thread Raw
In response to Re: Usind database with encoding UNICODE and vovel  ("Dave Page" <dpage@vale-housing.co.uk>)
List pgsql-odbc
Hi Dave,

thanks for quick answer.
  • I used Win2k with german locale
  • Used the ODBC 08.00.0101 (psqlodbc.dll)
My application works well with other databases.
Is a point of  this the reason of my problems ?

What locale settings did you use for database and client ?

Best Regards,
Josef Springer

Dave Page wrote:
Hi Josef,
 
Test env:
 
Server and client running on XP Pro, UK English locale
PostgreSQL 8.0.3
psqlODBC-libpq 08.01.0003 (yesterdays release, default settings except server/database/username etc)
Clients:    Microsoft Access 2003
               Microsoft ODBC Test (UNICODE)
               Microsoft ODBC Test (ANSI)
               pgAdmin III (SVN Trunk)
               Microsoft Excel 2003/MS Query (Only SELECTs tested)
 
Testing with databases created using LATIN1 and UNICODE, INSERT and SELECTs work exactly as expected using your test string, on all databases, with all clients. In all cases, the string inserted was exactly the string that was then retrieved in a subsequent select. Test strings inserted by each client were also selected back correctly by all other clients.
 
In short, it works perfectly for me.
 
I'm not sure what to suggest, other than perhaps to try the ODBC Test programs yourself (available in the Microsoft Data Access SDK). If they work, then perhaps there is a bug in your application?
 
Regards, Dave.


From: Josef Springer [mailto:Josef.Springer@JOOPS.COM]
Sent: 04 August 2005 07:04
To: Dave Page
Cc: pgsql-odbc@postgresql.org
Subject: Re: [ODBC] Usind database with encoding UNICODE and vovel

Hi Dave,

i have tested the settings in driver setup for the DSN without any effect (i send the same command after connected through the port too).
 
The environment:
Server and client same machineWin2k, german locale
PostgrSQL 8.0.3
Using the installed ODBC driver
German locale selected in the PostgreSQL installation

Using no vovels (umlaut) work fine. But using a vovel, curious effect.
I have tried all server and client variations with sense with this result. All tests are done with a string column containing äöüß
Server database encoding
Client encoding
Result
LATIN
LATIN
Writing works. Reading gets the bytearray 63.63,0,1,0,2,47,0
LATIN
UNICODEReading works bur witing gets an error 'Bad code xxx for  UNICODE'
UNICODE
UNICODE
Writing works. Reading gets the bytearray 63.63,0,1,0,2,47,0
UNICODE
LATIN
Writing works. Reading gets the bytearray 63.63,0,1,0,2,47,0
UNICODE
WIN1250
Writing works. Reading gets the bytearray 63.63,0,1,0,2,47,0
SQL_ASCII
UNICODE
Writing works. Reading gets the bytearray 63.63,0,1,0,2,47,0

In PgAdminIII the column is displayed correct in all server database variations !

We plan to announce our Business-Process-Management-System OfficeTalk supportimg PostgreSQL, but without vovels in german .... What to do ?????

Best Regards,
Josef Springer

 -- the software company --

Orlando-di-Lasso Str. 2
D-85640 Putzbrunn

Tel.++49(0)89 600 6920
Fax++49(0)89 600 69220
mailtoJosef.Springer@joops.com
Website http://www.joops.com


Dave Page wrote:
 

-----Original Message-----
From: Andreas Pflug [mailto:pgadmin@pse-consulting.de]
Sent: 03 August 2005 09:28
To: Josef Springer
Cc: pgsql-odbc@postgresql.org; Dave Page
Subject: Re: [ODBC] Usind database with encoding UNICODE and vovel

Josef Springer wrote:
Hi anybody,

Encironment: Win2k, german locale, PostgreSQL database with UNICODE
encoding, using via ODBC
Client encoding UNICODE.

I can read strings containing vovels without problems, But writing
strings containing vovels does not work !
Can anybody assist ?
I've been posting a patch earlier this year (January) because 
I had the
same problem on Unicode databases. But this is not the
ultimate patch;
it will create data errors with non-unicode databases (e.g.
Latin-1).

OK, well as you know Andreas, my unicode/locale etc. experience is
pretty much limited to what I've learnt from you and Hiroshi Saito on
pgAdmin, however, I'm on a roll fixing bugs in psqlODBC at the moment,
so let's try to sort this :-)

I wonder if the odbc driver changes the client encoding to 
unicode, as it
should when connecting to non-ASCII databases.

No it doesn't but it seems a pretty major thing for Hiroshi (Inoue) to
have missed when he wrote the Unicode support, so I suspect he had some
reason for not doing so at the time

You (or Josef) can do this manually though for testing - in the driver
setup for the DSN, click on DataSource, then on 'Page 2'. Add the
following query to the connect settings box, and OK all the dialogues.

SET client_encoding TO 'unicode'

Then, try it out and let us know what happens!

Regards, Dave.

pgsql-odbc by date:

Previous
From: "Dave Page"
Date:
Subject: Re: Usind database with encoding UNICODE and vovel
Next
From: "Dave Page"
Date:
Subject: Re: Usind database with encoding UNICODE and vovel