aspose file tools*
The moose likes JDBC and the fly likes Only one chinese charcter '塚' cant able to insert by JDBC Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Soft Skills this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Databases » JDBC
Bookmark "Only one chinese charcter Watch "Only one chinese charcter New topic
Author

Only one chinese charcter '塚' cant able to insert by JDBC

Imtiaz Ahmed
Greenhorn

Joined: Dec 01, 2008
Posts: 12
As You can see that in the below code there are two characters
1.'塚'
2.'天'

I can able to insert 2 but not 1
when i am insert by sqlplus its inserting i mean the 2 character
where as when i use JDBC its not inserting instead it gives '?'

when i quered
Select value from SYS.NLS_DATABASE_PARAMETERS where PARAMETER = 'NLS_CHARACTERSET'
it gave me ZHS16CGB231280


Can anyone help me in inserting this character properly into database






package org.com;

import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class InsertIntoDB {

/**
* @param args
*/
/*
* con=DriverManager.getConnection(
"jdbcracle:thin:@machine_name:1521:database_name",
"scott",
"tiger");
*/
static String userid="XGLIVE", password = "AIOICHLIVE";
static String url = "jdbcracle:thin:@192.168.1.101:1521:AIOITRG";// String url = "jdbc:mySubprotocol:myDataSource"; ?
static Statement stmt;
static Connection con;

public static void main(String[] args) {
// TODO Auto-generated method stub


System.out.println("Enter the value want to Insert");
/*BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String value = null;

try {
value = br.readLine();
} catch (IOException ioe) {
System.out.println("IO error trying to read your value");
System.exit(1);
} */

con = getConnection();

String str="塚";
//String str="天";

String InsertStatement="";
/*try{
String s = new String(str.getBytes(), "GB2312");
InsertStatement="insert into chinesechar values('"+s+"')";
} catch (UnsupportedEncodingException e) {
// just ignore, if the named encoding is not supported.
}*/

InsertStatement="insert into chinesechar values('"+str+"')";
//String InsertStatement="insert into chinesechar values('天')";

try {
stmt = con.createStatement();
stmt.executeUpdate(InsertStatement);

stmt.close();
con.close();
System.out.println("Your Value is Inserted");
} catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}




}
public static Connection getConnection()
{

try {
Class.forName("oracle.jdbc.driver.OracleDriver");

} catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}

try {
con = DriverManager.getConnection(url,
userid, password);

} catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}

return con;
}


}
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 40034
    
  28
Please confirm that your present question is different from your earlier question; otherwise it would be better to continue with one thread.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Only one chinese charcter '塚' cant able to insert by JDBC