cómo escribir carácteres chinos en MySQL con Hibernate?

Danilo99:

im haciendo una aplicación web con javascript. Im usar servlets Java cosa que está conectado con la base de datos MySQL con hibernación. en Servlet hay una cadena en chino, y cuando trato de escribir que strin en el campo de MySQL se muestra como "?" en MySQL. toda mi proyecto en NetBeans se establece en charset = UTF-8. Traté de cotejo set y juegos de caracteres en la base de datos a UTF-8, utf8mb4, Big5 y ninguno de ellos funciona. también intenté cambiar mi columna de varchar a nvarchar pero cuando hago clic en aplicar (banco de trabajo mysql) la columna sigue siendo "varchar."

este es mi servlet

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("application/json");
        String tabla=request.getParameter("tabla");
        //String tabla contains chinese caracters
        String user=request.getParameter("user");
        Configuration myConf = new Configuration();
        myConf.configure("hib/hibernate.cfg.xml");
        StandardServiceRegistry service = new StandardServiceRegistryBuilder().
                applySettings(myConf.getProperties()).build();
        SessionFactory myFactory = myConf.buildSessionFactory(service);
        Session conn = myFactory.openSession();
        Transaction t = conn.beginTransaction();

        List<User>upislista;
        upislista=conn.createQuery("SELECT u FROM User u WHERE useUsername='"+user+"'").list();
        upislista.get(0).setUseKineski(tabla);





        t.commit();
        conn.close();
Rick James:

XML de hibernación:

<property name="hibernate.connection.CharSet">utf8mb4</property>
<property name="hibernate.connection.characterEncoding">utf8</property>
<property name="hibernate.connection.useUnicode">true</property>

URL de conexión:

db.url=jdbc:mysql://localhost:3306/db_nameuseUnicode=true&character_set_server=utf8mb4

Los cambios anteriores fueron suficientes para mí para actualizar el esquema de UTF8 utf8mb4 juego de caracteres.

Como nota al margen me gustaría hacer una aclaración que UTF-8 es la codificación de caracteres, mientras que utf8mb4 es un conjunto de caracteres que soporta MySQL. utf8mb4 de MySQL es un superconjunto de UTF-8 de MySQL.

filtro de primavera / Hibernate:

<form accept-charset="UTF-8">

Primavera / Hibernate:

<property name="url" value="jdbc:mysql://localhost:3306/miniprojetjee?useUnicode=true&connectionCollation=utf8_general_ci&characterSetResults=utf8&characterEncoding=utf-8"/> (or maybe it is =yes)

"Primavera":

@RequestMapping(value = "/getRegion2", produces={"application/json; charset=UTF-8"},method = RequestMethod.GET)

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=218260&siteId=1
Recomendado
Clasificación