problem with Chinese - Mailing list pgsql-jdbc

From root
Subject problem with Chinese
Date
Msg-id 3BCEE6B3.5070303@263.net
Whole thread Raw
List pgsql-jdbc
Hi,
I have downloaded binary JDBC Driver from both postgresql.org and
jdbc.postgresql
it's version is jdbc7.1-1.2/jdbc7.1-1.1. It always give a message like this

Exception in thread "main" java.sql.SQLException: ERROR:��Unterminated
quoted string

�� ����at org.postgresql.Connection.ExecSQL(Connection.java:533)
�� ����at org.postgresql.jdbc2.Statement.execute(Statement.java:294)
�� ����at org.postgresql.jdbc2.Statement.executeQuery(Statement.java:59)
�� ����at Test.main(Test.java:20)

I have also tride to rebuild the source code with
./configure --prefix=/opt --enable-locale --enable-multibyte=EUC_CN
--with-CXX -with-java -with-openssl=/usr
1)��for JDBC it can complete compilation, but use JDBC with problem
2)��for libpq--> input.c -->on_exit() :

gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations
-I../../../src/interfaces/libpq -I../../../src/include -I/usr/include��-
c -o input.o input.c
input.c: In function `initializeInput':
input.c:157: warning: passing arg 1 of `on_exit' from incompatible
pointer type
input.c:157: too few arguments to function `on_exit'

3) my table customer is very simple : cno char(10),cname varchar(50)
my source code :

import java.sql.*;
import java.io.*;

class Test{
�� ����public static void main(String args[]) throws Exception {
�� ������������System.out.println("input :");
�� ������������BufferedReader in=new BufferedReader(
�� ������������������������������������new InputStreamReader(
�� ��������������������������������������������System.in
�� ����������������������������������������)
�� ����������������������������������);
�� ������������String t1=in.readLine(); //here i can enter some Chinese
string
�� ������������System.out.println("your input are :"+t1);��
�� ������������Class.forName("org.postgresql.Driver");
�� ������������Connection dbconn=DriverManager.getConnection(
�� ��������������������"jdbc:postgresql:redauto","postgres","");
�� ������������Statement st = dbconn.createStatement();
�� ������������String str_sql="SELECT * FROM customer where cname='"+t1+"'";
�� ������������System.out.println(str_sql);
�� ������������ResultSet rs = st.executeQuery(str_sql);
�� ������������while(rs.next()) {
�� ����������������System.out.println(rs.getString(1)+"\t"+rs.getString
(2)+"\n");
�� ������������}
�� ������������rs.close();
�� ������������st.close();
�� ������������dbconn.close();
�� ����}
}



I am shade to have disturbed you.
you are kind for me if you can give any sugestion.
Thanks very much.

malix
shanghai china


pgsql-jdbc by date:

Previous
From: Barry Lind
Date:
Subject: Re: JDBC PostgreSQhelL
Next
From: Peter Eisentraut
Date:
Subject: Re: J2SE 1.4 and other patches