DBテーブルの列を反映する3つのテキストフィールド(ID、Name、Address)がありますが、そのテーブルにアラビア文字を挿入しようとしていますが、 ?? "
java(SE)を使用してmySQL DBにアラビア文字を挿入する
iamがJDBCを使用してDBに接続しています。
myデータベース情報。 :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それは正しく挿入され、アラビア文字が正しく表示されます。
正解、文字セットと照合+1 – mKorbel
次のように私はUTF8に私のデータベースの文字セットを変更し、それが動作します現在: サーバキャラクタセット:utf8 Dbキャラクタセット:utf8 クライアントキャラクタセット:utf8 コネクションセット:utf8 ありがとうございます。 –