Re: Another post 7.3.02 bug Was: ODBC and encodings problem - Mailing list pgsql-odbc

From Ben Trewern
Subject Re: Another post 7.3.02 bug Was: ODBC and encodings problem
Date
Msg-id d4ic0u$1510$1@news.hub.org
Whole thread Raw
In response to Re: ODBC and encodings problem  ("Philippe Lang" <philippe.lang@attiksystem.ch>)
List pgsql-odbc
Thanks for your reply,

This is approximately how I understood it.  I still do see a problem:

Using SQL_ASCII character set on the server.

 - Connecting with ZeosDbo and Delphi I get the correct representation of �
signs.
 - Connecting with pgAdmin III (via libpq) I get the same.
 - Connecting with pgODBC version 7.03.0208 or before I get the same.
 - When I connect with the latest pgODBC version (08.00.0003) I get the
results as stated previously.

As I understand it, the ODBC driver shouldn't try to decode data from the
server in this situation, but it must do, as when I look into the mylog file
the data returned from the database is correct.

Ben

"Marko Ristola" <marko.ristola@kolumbus.fi> wrote in message
news:4269ED02.80503@kolumbus.fi...
>
> I checked the ODBC 8.x CVS HEAD (source code). I found out, that it seems
> to work nicely
> on Windows. I don't know anything about Linux ODBC driver side.
>
> If the backend uses SQL_ASCII charset, it means, that the backend
> does not know the charset of the non ASCII characters.
> Pound character does not belong to those characters.
>
> Correct way of fixing the bug is to tell for the backend server, that what
> charset is
> used there. LATIN1 or UTF-8 are good alternatives.
>
> So, if switching into LATIN1 as the backend charset works nicely, the ODBC
> driver
> is okay: according to Philippe Lang, the charset switching works!
>
> So the user must do an initdb.
>
> It is very good, that the current ODBC driver handles data conversions
> on the client side in Windows.
>
> I found out this from the source code of CVS HEAD:
>
> The ODBC driver uses ANSI C API for client charset. So ANSI C charset
> selection
> (a C standard) works on Windows applications. This means, that C and C++
> programs
> do work. Other languages should work also.
>
> With Windows applications, if an application uses different charsets in
> different threads,
> the "global" charset selection applies, not one thread's private charset
> selection.
>
> Regards,
> Marko Ristola
>
> Ben Trewern wrote:
>
>>Does anyone have enough knowledge of the pgODBC driver to see where this
>>bug is coming from?  I've been looking through the code but can't get a
>>handle on how it is structured.  Are there any documents available which
>>could give me a starting point on kacking the driver.  I'm not a C coder
>>so this is all a learning experience.
>>
>>Ben
>>
>>"Ben Trewern" <ben.trewern@mowlem.com> wrote in message
>>news:d3ohub$och$1@news.hub.org...
>>
>>>I've looked at the mylog outputs from pgODBC in this case and they seem
>>>to show the driver (at some point) returns the correct values.  How these
>>>are then translated and shown in MS Access is beyond me.  I'll keep
>>>investigating though.
>>>
>>>[investigated some more]I just tried pgODBC 7.03.0208 and I get the
>>>correct result.  Seems it's another bug that's been introduced after this
>>>time. I'll look to see which version is the earliest to cause this
>>>problem.
>>>
>>>Ben
>>>
>>>""Philippe Lang"" <philippe.lang@attiksystem.ch> wrote in message
>>>news:6C0CF58A187DA5479245E0830AF84F42143227@poweredge.attiksystem.ch...
>>>
>>>>There is a project of an ODBC driver that uses libpq at Command
>>>>Prompt...
>>>>
>>>>This is an answer I got a few weeks ago.
>>>>
>>>>
>>>>>Our driver is sorely outdated. We are currently working on a brand new
>>>>>(as in from scratcH) open source driver sourced from libpq.
>>>>>
>>>>>Sincerely,
>>>>>
>>>>>Joshua D. Drake
>>>>>Command Prompt, Inc.
>>>>>
>>>>We are all looking forward to trying it. But licencing and deadlines are
>>>>not really clear at the moment.
>>>>
>>>>Philippe
>>>>
>>>>
>>>>-----Message d'origine-----
>>>>De : pgsql-odbc-owner@postgresql.org
>>>>[mailto:pgsql-odbc-owner@postgresql.org] De la part de Ben Trewern
>>>>Envoy� : vendredi, 15. avril 2005 13:15
>>>>� : pgsql-odbc@postgresql.org
>>>>Objet : Re: [ODBC] ODBC and encodings problem
>>>>
>>>>Does this mean I have to initdb my cluster again?  I tried to do this on
>>>>windows with 'initdb --encoding=LATIN1' but it hang on 'selecting
>>>>default max_connections ...'  I'm looking into this now.  Not sure if
>>>>it's an encoding problem or something else.
>>>>
>>>>What I was wondering was, why does the ODBC driver act differently to
>>>>Zeos or pgAdmin III?  Zeos and pgAdmin both use the libpq client library
>>>>which I suppose is the standard.  Is there a way the ODBC driver could
>>>>be hacked to give the same response as libpq or am I simplifying this
>>>>too much.
>>>>
>>>>Ben
>>>>
>>>>""Philippe Lang"" <philippe.lang@attiksystem.ch> wrote in message
>>>>news:6C0CF58A187DA5479245E0830AF84F4214321E@poweredge.attiksystem.ch...
>>>>
>>>>>Hi,
>>>>>
>>>>>I don't know exactly which encoding you need, but at least for french,
>>>>>encoding a datatabase in LATIN1 solves the problem...
>>>>>
>>>>>Bye
>>>>>
>>>>>Philippe
>>>>>
>>>>>-----Message d'origine-----
>>>>>De : pgsql-odbc-owner@postgresql.org
>>>>>[mailto:pgsql-odbc-owner@postgresql.org] De la part de Ben Trewern
>>>>>Envoy� : jeudi, 14. avril 2005 21:20 � : pgsql-odbc@postgresql.org
>>>>>Objet : [ODBC] ODBC and encodings problem
>>>>>
>>>>>Hi all,
>>>>>
>>>>>Using PostgreSQL 8.0.1 on Linux
>>>>>
>>>>>I've got a database with an encoding of SQL_ASCII.  I've accessed it
>>>>>with pgAdmin III and Delphi through ZeosDBO and had no problems.  Now
>>>>>I've been using MS Access XP with pgODBC version 8.00.0101 to connect
>>>>>to it with some success till now.  I've noticed that any field with a
>>>>>� sign in it is not displaying correctly, I get 'WO �,658.06' instead
>>>>>of 'WO �4,658.06'
>>>>>and 'WO �60.56' instead of 'WO �128.88' etc.  I assume it's something
>>>>>to do with the encodings used server side or client side.
>>>>>
>>>>>Any ideas how to fix this?
>>>>>
>>>>>Regards,
>>>>>
>>>>>Ben
>>>>>
>>>>>
>>>>>
>>>>>---------------------------(end of
>>>>>broadcast)---------------------------
>>>>>TIP 8: explain analyze is your friend
>>>>>
>>>>>
>>>>>
>>>>>---------------------------(end of
>>>>>broadcast)---------------------------
>>>>>TIP 5: Have you checked our extensive FAQ?
>>>>>
>>>>>              http://www.postgresql.org/docs/faq
>>>>>
>>>>>
>>>>
>>>>---------------------------(end of broadcast)---------------------------
>>>>TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>>>>
>>>>
>>>>
>>>>---------------------------(end of broadcast)---------------------------
>>>>TIP 4: Don't 'kill -9' the postmaster
>>>>
>>>>
>>>
>>
>>
>>
>>---------------------------(end of broadcast)---------------------------
>>TIP 4: Don't 'kill -9' the postmaster
>>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>



pgsql-odbc by date:

Previous
From: Robert Treat
Date:
Subject: Re: Official ODBC announcement
Next
From: geert.pille@vandemoortele.com (Gerard H. Pille)
Date:
Subject: retrieving images stored by php / pgsql