處理:將數(shù)據(jù)按“ISO-8859-1”格式轉(zhuǎn)為字節(jié)數(shù)組,再按系統(tǒng) 缺省編碼格式(default character encoding)轉(zhuǎn)為STRING,即可在TA和LIST中正確顯示。 程序段如下:
dbstr2 = results.getString(1); //********************************************************************* // After read result from Database server, Convert the result string.
dbbyte1 = dbstr2.getBytes("iso-8859-1"); dbstr1 = new String(dbbyte1); //*********************************************************************
二,寫中文到DB 處理方式與以上相逆,先將SQL語句按DEFAULT CHARACTER ENCODING 轉(zhuǎn)為字節(jié)數(shù)組,再按ISO-8859-1轉(zhuǎn)為STRING,然后送執(zhí)行, 則中文信息可正確寫入DB。
sqlstmt = tf_input.getText();
//***************************************************************************** // Before send statement to Database server, Convert sql statement.
dbbyte1 = sqlstmt.getBytes(); sqlstmt = new String(dbbyte1,"iso-8859-1"); //*****************************************************************************
現(xiàn)在我們?nèi)〉玫囊稽c小小進展,在轉(zhuǎn)換字符串時不采用default character encoding,而是直接采用“GBK”或“GB2312”,在情況A和B底下,從DB取數(shù)據(jù) 都沒有問題,但是寫中文到DB也采用“GBK”或“GB2312”時,情況B仍是出錯的。
發(fā)信人: mah (chip), 信區(qū): Java 標 題: 通過jdbc driver獲取數(shù)據(jù)庫中文信息揭密 發(fā)信站: BBS 水木清華站 (Tue Aug 11 20:42:16 1998) WWW-POST