Skip site navigation (1) Skip section navigation (2)

Re: ODBC & character encoding

From: "Iain" <iain(at)mst(dot)co(dot)jp>
To: "Layet Benjamin" <benjamin(at)moonfactory(dot)co(dot)jp>,<pgsql-odbc(at)postgresql(dot)org>
Subject: Re: ODBC & character encoding
Date: 2005-02-07 08:31:21
Message-ID: 002501c50cef$6a46f780$7201a8c0@mst1x5r347kymb (view raw or flat)
Thread:
Lists: pgsql-odbc
Hi Benjamin,

I don't have direct experience of your exact situation, but I use a 7.1 
database via ODBC. The difference is that the client is not unicode, it's 
plain old windows shift-JIS and that works fine iff you use the unicode 
support odbc driver. When you install the postgres ODBC driver it actually 
contains 3 drivers, which one are you using?

> Can the ODBC driver convert the query string from UTF8 to EUC_JP before 
> sending it to the database server ?

I'm not sure...

> Can the ODBC driver take EUC_JP string as input ? (then I would 'just' 
> have to figure out how to send EUC_JP stings from C#...)

I dunno about that either, but it certainly accepts shift-JIS which is the 
native encoding for windows.

So far I've never had to pay much attention to client encoding (with the 
notable exception of getting input data from a web application) as the 
clients and drivers seem to work everything out by themselves.

Regards
Iain


  ----- Original Message ----- 
  From: Layet Benjamin
  To: Iain ; pgsql-odbc(at)postgresql(dot)org
  Sent: Monday, February 07, 2005 5:06 PM
  Subject: Re: [ODBC] ODBC & character encoding


  Hi,
  Thank you Iain for your quick reply.
  But unfortunately this did not solve the problem, 7.1 does not support 
this conversion neither yet. (7.3 and 7.4 do):

  SET client_encoding='UNICODE';
  ERROR:  Conversion between UNICODE and EUC_JP is not supported

  In theory, I have 3 possible places to convert UTF8 to EUC_JP:
  - 1 inside postgres
  - 2 inside ODBC
  - 3 inside C#


  1

          C#                                    ODBC 
Postgres 7.1
  Utf8                  l =============>  l                l =====>l 
UTF8->EUC_JP
  (possible->Unicode)   l     UTF8        l                l UTF8  l
  ______________________l  (or Unicode)   l________________l 
l_______________


  2
          C#                                    ODBC 
Postgres 7.1
  Utf8                  l =============>  l UTF8->EUC_JP   l =====>l
  (possible->Unicode)   l     UTF8        l                l EUC_JPl
  ______________________l  (or Unicode)   l________________l 
l_______________


  3

          C#                                    ODBC 
Postgres 7.1
  UTF8->EUC_JP          l =============>  l                l =====>l
  (possible->Unicode)   l     EUC_JP      l                l EUC_JPl
  ______________________l                 l________________l 
l_______________


  Number 1 seem to be the normal solution, but it does not work with 7.1.
  I would like to know if number 2 or 3 are possible:
  so,
   - Can the ODBC driver convert the query string from UTF8 to EUC_JP before 
sending it to the database server ?
  or
  - Can the ODBC driver take EUC_JP string as input ? (then I would 'just' 
have to figure out how to send EUC_JP stings from C#...)

  Help extremely needed...
  Thank you !

  Benjamin

In response to

Responses

pgsql-odbc by date

Next:From: David BrownDate: 2005-02-07 08:37:24
Subject: Re: varchar problem after installing postgresql-8.0.1 on windows
Previous:From: Layet BenjaminDate: 2005-02-07 08:06:30
Subject: Re: ODBC & character encoding

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group