データベースから簡体字(GB2312)をフェッチして更新しようとしていますが、更新部分は weblogic 10.3 Windows マシンでは正常に動作しますが、weblogic 10.3 Solaris マシンでは失敗 (ジャンク文字) しますが、中国語のフェッチと表示は正常に動作しています両方の環境
DAO の取得
while (rs.next()) {
Base64 base64 = new Base64();
byte[] notesByte = base64.encode(rs
.getBytes("notes"));
}
UI(アンドロイド)
byte[] notes= Base64.decode(notesByteStr , Base64.DEFAULT);
notesText.setText(new String(notes, "GB2312")); // Displaying chines char
notesByte= Base64.encode(notesText.getText().toString().trim().getBytes("GB2312"), Base64.DEFAULT) // send to db
DAO の更新
getSession().createSQLQuery(notesUpdateQuery)
.setParameter(0, new String(base64.decode(notesByte)))
.executeUpdate();
注: ソース txt ファイルのエンコード : UTF-8