本地的數據庫是oracle.字符集是WE8ISO8859P1,
提取過來的值是亂碼。
實現辦法:
插入一條記錄:
Connection conn=null;
PreparedStatement pstmt = null;
try {
String strSql="insert into tabA(A,B) values(11&121)";
conn=ds.getConnection();
strSql = new String(strSql.getBytes("GBK"), "ISO-8859-1");
pstmt = conn.prepareStatement(strSql);
pstmt.executeUpdate();
}
catch (Exception e) {
} finally {
rs.close;
pstmt.close;
coon.close;
}sql
查詢一條記錄:
Connection conn=null;
PreparedStatement pstmt = null;
ResultSet rs=null;
try {
String sql="select B from tabA where A=1111";
conn=ds.getConnection();
Sql = new String(strSql.getBytes("GBK"), "ISO-8859-1");
pstmt = conn.prepareStatement(sql);
rs=pstmt.executeQuery();
String s;
if (rs.next()){
s=new String(rs.getString(1) .getBytes("ISO-8859-1"), "GBK");
}
catch (Exception e) { 數據庫
}
finally {
rs.close;
pstmt.close;
coon.close;
}oracle
總結:進行兩次轉碼1.先是對sql語句進行轉碼;2.在進行對單個字段進行轉碼get