Re: [HACKERS] Troubles using German Umlauts with JDBC - Mailing list pgsql-jdbc
From | Barry Lind |
---|---|
Subject | Re: [HACKERS] Troubles using German Umlauts with JDBC |
Date | |
Msg-id | 3B9C1C57.3080705@xythos.com Whole thread Raw |
In response to | Re: [HACKERS] Troubles using German Umlauts with JDBC (Bruce Momjian <pgman@candle.pha.pa.us>) |
List | pgsql-jdbc |
General backend issue. --Barry Bruce Momjian wrote: > Is this a jdbc issue or a general backend issue? > > > >>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) >> >> >
pgsql-jdbc by date: