我的POST數據包含日文字符串AKB48 ネ申テレビ シーズン3
,在jQuery中定義爲data
。Java POST數據到mySQL UTF-8編碼問題
$("#some_div").load("someurl", { data : "AKB48 ネ申テレビ シーズン3"})
POST數據發送到Java Servlet的:
String data = new String(this.request.getParameter("data").getBytes("ISO-8859-1"), "UTF-8");
我的程序將其保存到MySQL,但數據被保存到數據庫後,就變成了:
AKB48 u30CDu7533u30C6u30ECu30D3 u30B7u30FCu30BAu30F33
我該怎麼辦,如果我想要將它保存爲UTF-8?我所有的文件都是UTF-8。
MySQL的編碼是UTF8和這裏是代碼
String sql = "INSERT INTO Inventory (uid, item_id, item_data, ctime) VALUES ("
+ inventory.getUid() + ",'"
+ inventory.getItemId() + "','"
+ StringEscapeUtils.escapeJava(inventory.getItemData()) + "',CURRENT_TIMESTAMP)";
Statement stmt = con.createStatement();
int cnt = stmt.executeUpdate(sql);
是你在utf8中的mysql數據庫嗎?你如何堅持mysql,直接SQL或休眠等?而且,由於它正確地保存了代碼點,因此可能是你只是錯誤地查看了它 –
是的,mySQL都是utf8 – bbnn