我有三個文本域(ID,名稱,地址),它反映了數據庫表中的列我試圖插入阿拉伯字符到該表中,但它顯示爲「??? ??」
使用java(SE)插入阿拉伯字符到MySQL數據庫
iam使用JDBC連接到數據庫
我的數據庫信息。 :MySQL服務器5.5.14社區
服務器字符集:latin1的
Db的字符集:UTF8
客戶端字符集:latin1的
康涅狄格州字符集:latin1的
我嘗試編碼使用下面的代碼串:
private String ArEncode(String text){
String txt="";
try {
Charset cset = Charset.forName("utf8");
CharsetEncoder encoder = cset.newEncoder();
CharsetDecoder decoder = cset.newDecoder();
ByteBuffer buffer = encoder.encode(CharBuffer.wrap(text));
txt=buffer.asCharBuffer().toString();
} catch (Exception ex) {
Logger.getLogger(UserView.class.getName()).log(Level.SEVERE, null, ex);
}
return txt;
}
那麼返回的字符串名爲「txt」插入到數據庫
注:當我嘗試插入值directl y從netbeans插入到數據庫中,它正確插入並且阿拉伯字符正確顯示。
正確答案,字符集和校對+1 – mKorbel
我改變了我的數據庫字符集爲UTF8如下,它的工作原理現在: 服務器字符集:utf8 Db字符集:utf8 客戶端字符集:utf8 連接字符集:utf8 謝謝。 –