簡體   English   中英

如何使用servlet在mysql中保存表情符號

[英]how to save emoji in mysql using servlet

我正在使用帶有mysql連接器5.1.44的servlet連接到mysql數據庫。

Connection conn = DriverManager.getConnection(Utils.DBURL+"/"+Utils.DBName+"?useUnicode=true&characterEncoding=utf8mb4&", Utils.DBUserName, Utils.DBPassword);

這對於多語言輸入效果很好,但是當嘗試保存表情符號時,最終僅保存“ ??”。 我該如何僅使用servlet保存表情符號?

servlet代碼

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException{
response.setContentType("application/json");
request.setCharacterEncoding("UTF-8");
String content = request.getParameter("content");
Class.forName("com.mysql.jdbc.Driver");
        Connection conn = 
DriverManager.getConnection(Utils.DBURL+"/"+Utils.DBName+"?
useUnicode=true&characterEncoding=utf8mb4&", Utils.DBUserName, 
Utils.DBPassword);
PreparedStatement stmt = conn.prepareStatement("INSERT INTO "
                            + "`feed`(`content`)"
                            + " VALUES (?)");
stmt.setString(1, content);
stmt.executeUpdate();
}

是否已將表/數據庫設置為存儲這些unicode值? 您在連接字符串中設置的字符集僅控制如何在客戶端和服務器之間傳輸數據。 如果該列無法存儲該數據,則最終會導致數據損壞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM