Thread: ...
Hi, I'm trying to use JDBC driver for postgres but have a problem with UNICODE. I can insert UNICODE values but I can't compare them unless they are under 00ff... When I try to compare values that are over 00ff always return true : // inserting a Unicode value in the database smt.executeUpdate("insert into test values ('\u0123')"); // not the same unicode value selects the same line !!! smt.executeQuery("select * from test where test = '\u0223'"); (but '\u0064' and '\0034' are not the same :)) I compiled the postgres.jar with the jdbc2 and the 7.0.3 version, compiled postgresql with --enable-multibyte and created my database with -E UNICODE. I also use the Properties class to connect to my base to specifie that i wan't to use Utf-8. If you can help me .... thanks.
Quoting Joel Seguillon <seguij@free.fr>: > Hi, > I'm trying to use JDBC driver for postgres but have a problem with > UNICODE. > I can insert UNICODE values but I can't compare them unless they are > under > 00ff... > > When I try to compare values that are over 00ff always return true : > // inserting a Unicode value in the database > smt.executeUpdate("insert into test values ('\u0123')"); > > // not the same unicode value selects the same line !!! > smt.executeQuery("select * from test where test = '\u0223'"); > > (but '\u0064' and '\0034' are not the same :)) As executeQuery & executeUpdate pass the query to the backend without any modifications (well a few occasionally but not in this case), this looks like a backend type of problem. Forwarding to the hackers list. > I compiled the postgres.jar with the jdbc2 and the 7.0.3 version, > compiled > postgresql with --enable-multibyte and created my database with -E > UNICODE. > > I also use the Properties class to connect to my base to specifie that i > wan't > to use Utf-8. The key is "charSet" case sensitive... Peter -- Peter Mount peter@retep.org.uk PostgreSQL JDBC Driver: http://www.retep.org.uk/postgres/ RetepPDF PDF library for Java: http://www.retep.org.uk/pdf/