Re: [HACKERS] Troubles using German Umlauts with JDBC - Mailing list pgsql-jdbc

From Bruce Momjian
Subject Re: [HACKERS] Troubles using German Umlauts with JDBC
Date
Msg-id 200109100014.f8A0Ec016622@candle.pha.pa.us
Whole thread Raw
In response to Re: [HACKERS] Troubles using German Umlauts with JDBC  (Barry Lind <barry@xythos.com>)
List pgsql-jdbc

Added to TODO.


> Bruce,
>
> I think the TODO item should be:
>
> Ability to set character set for a database without multibyte enabled
>
> Currently createdb -E (and the corresponding create database sql
> command) only works if multibyte is enabled.  However it is useful to
> know which single byte character set is being used even when multibyte
> isn't enabled.  Currently there is no way to specify which single byte
> character set a database is using (unless you compile with multibyte).
>
> thanks,
> --Barry
>
>
> Bruce Momjian wrote:
> > I can add something if people agree there is an issue here.
> >
> >
> >>I've added a new section "Character encoding" to
> >>http://lab.applinet.nl/postgresql-jdbc/, based on the
> >>information from Dave and Barry.
> >>
> >>I haven't seen a confirmation from pgsql-hackers or Bruce yet
> >>that this issue will be added to the Todo list. I'm under the
> >>impression that the backend developers don't see this as a
> >>problem.
> >>
> >>Regards,
> >>Ren? Pijlman
> >>
> >>On Tue, 04 Sep 2001 10:40:36 -0700, Barry Lind wrote:
> >>
> >>>I would like to add one additional comment.  In current sources the jdbc
> >>>driver detects (through a hack) that the server doesn't have multibyte
> >>>enabled and then ignores the SQL_ASCII return value and defaults to the
> >>>JVM's character set instead of using SQL_ASCII.
> >>>
> >>>The problem boils down to the fact that without multibyte enabled, the
> >>>server has know way of specifiying which 8bit character set is being
> >>>used for a particular database.  Thus a client like JDBC doesn't know
> >>>what character set to use when converting to UNICODE.  Thus the best we
> >>>can do in JDBC is use our best guess (JVM character set is probably the
> >>>best default), and allow the user to explicitly specify something else
> >>>if necessary.
> >>>
> >>>thanks,
> >>>--Barry
> >>>
> >>>Rene Pijlman wrote:
> >>>
> >>>>[forwarding to pgsql-hackers and Bruce as Todo list maintainer,
> >>>>see comment below]
> >>>>
> >>>>[insert with JDBC converts Latin-1 umlaut to ?]
> >>>>On 04 Sep 2001 09:54:27 -0400, Dave Cramer wrote:
> >>>>
> >>>>
> >>>>>You have to set the encoding when you make the connection.
> >>>>>
> >>>>>Properties props = new Properties();
> >>>>>props.put("user",user);
> >>>>>props.put("password",password);
> >>>>>props.put("charSet",encoding);
> >>>>>Connection con = DriverManager.getConnection(url,props);
> >>>>>where encoding is the proper encoding for your database
> >>>>>
> >>>>>
> >>>>For completeness, I quote the answer Barry Lind gave yesterday.
> >>>>
> >>>>"[the driver] asks the server what character set is being used
> >>>>for the database.  Unfortunatly the server only knows about
> >>>>character sets if multibyte support is compiled in. If the
> >>>>server is compiled without multibyte, then it always reports to
> >>>>the client that the character set is SQL_ASCII (where SQL_ASCII
> >>>>is 7bit ascii).  Thus if you don't have multibyte enabled on the
> >>>>server you can't support 8bit characters through the jdbc
> >>>>driver, unless you specifically tell the connection what
> >>>>character set to use (i.e. override the default obtained from
> >>>>the server)."
> >>>>
> >>>>This really is confusing and I think PostgreSQL should be able
> >>>>to support single byte encoding conversions without enabling
> >>>>multi-byte.
> >>>>
> >>>>To the very least there should be a --enable-encoding-conversion
> >>>>or something similar, even if it just enables the current
> >>>>multibyte support.
> >>>>
> >>>>Bruce, can this be put on the TODO list one way or the other?
> >>>>This problem has appeared 4 times in two months or so on the
> >>>>JDBC list.
> >>>>
> >>>>Regards,
> >>>>Ren? Pijlman <rene@lab.applinet.nl>
> >>>>
> >>---------------------------(end of broadcast)---------------------------
> >>TIP 6: Have you searched our list archives?
> >>
> >>http://www.postgresql.org/search.mpl
> >>
> >>
> >
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

pgsql-jdbc by date:

Previous
From: Larry Rogers
Date:
Subject: Something unusual has occured to cause the driver to fail. NullPointerException
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] Troubles using German Umlauts with JDBC