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 | 200109091424.f89EOWF08595@candle.pha.pa.us Whole thread Raw |
In response to | Re: [HACKERS] Troubles using German Umlauts with JDBC (Rene Pijlman <rene@lab.applinet.nl>) |
Responses |
Re: [HACKERS] Troubles using German Umlauts with JDBC
|
List | pgsql-jdbc |
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 > -- 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: