제자신이 모든걸 완벽하게 인스톨 했다고 자부하고 있느데...
JDBC에서 한글이 제대로 되지 않습니다...
여러 고수님들의 의견을 듣고 싶어 이렇게 글을 올립니다..
설정은(jakarta-ant_xxxx.tar.gz까지 깔고 인스톨 했습니다)
#./configure \
--prefix=/usr/local/pgsql \
--with-java \
--enable-multibyte \
--enable-locale
디비는
#/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data -E EUC_KR
모든게 에러가 없이 제대로 잘 설치 되더군요..
$psql -l
List of databases
Database | Owner | Encoding
-----------+----------+----------
postgres | postgres | EUC_KR
template0 | postgres | EUC_KR
template1 | postgres | EUC_KR
test | postgres | EUC_KR
(4 rows)
psql상에서도 한글 소트 입출력이 너무나도 잘됩니다..
그런데 JDBC가 문제더군요...
import java.sql.*;
public class jdbctest {
Connection con;
Statement stmt;
ResultSet rset;
public static void main(String args[]) throws Exception{
new jdbctest();
}
public jdbctest() {
go();
}
public void go() {
try {
//Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Class.forName("org.postgresql.Driver").newInstance();
System.out.println("driver loadin....");
} catch(Exception e) {
System.out.println("drvier loading fail");
e.printStackTrace();
}
try {
System.out.println("connection create");
//con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
con=DriverManager.getConnection("jdbc:postgresql://localhost:5432/test","postgres","");
System.out.println("stmt");
stmt=con.createStatement();
rset=stmt.executeQuery("select * from test");
while(rset.next()) {
String test = rset.getString(1);
System.out.println(rset.getString(1));
}
}catch(SQLException es) {
System.out.println("error");
es.printStackTrace();
}
}
}
이 소스를 컴파일하면
한글로된 값은 모두 "?????" 물음표로 나옵니다..
쉘상에서 #java jdbctest 라고 실행 했을경우 입니다..
똑같은 소스상에서 mysql은 한글이 제대로 나옵니다..
제가 어떤 실수를 한걸까요.. 답변점 주시면 고맙겠습니다..
|