speichern Ich benutze Servlet mit mysql Connector 5.1.44, um eine Verbindung zur MySQL-Datenbank herzustellen.wie man Emoji in mysql mit Servlet
Connection conn = DriverManager.getConnection(Utils.DBURL+"/"+Utils.DBName+"?useUnicode=true&characterEncoding=utf8mb4&", Utils.DBUserName, Utils.DBPassword);
das funktioniert gut für die mehrsprachige Eingabe aber bei dem Versuch, Emojis zu retten, es endet nur spart bis „??“. Was kann ich tun, um Emoji mit nur Servlet zu speichern?
Servlet-Code
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();
}
Was ist dieser Wert "utf8mb4" für 'characterEncoding' da? – jingx
sah es hier https://stackoverflow.com/questions/30074492/what-is-the-difference-between-utf8mb4-and-utf8-charsets-in-mysql – user3136742
Does 'utf8mb4' Arbeit als Verbindung Codierung? Ich dachte, das wäre nur relevant für die Speicherung. – tadman