Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

645
Vistas
guardando emoji en mysql usando hibernate Valor de cadena incorrecto: '\xF0\x9F\x98\x88\xF0\x9F...' para la columna 'nombre' en la fila 1

mi cadena de conexión tiene las siguientes propiedades useUnicode=true&characterEncoding=utf8&character_set_server=utf8mb4&charset=utf8mb4

y usé

 jpaProperties.put("hibernate.connection.useUnicode", true); jpaProperties.put("hibernate.connection.characterEncoding", "utf8"); jpaProperties.put("hibernate.connection.CharSet", "utf8mb4");

la base de datos también es compatible con utf8mb4 ya que cuando agrego un registro manualmente, lo guarda correctamente

sigo recibiendo errores al intentar guardar un emoji

 Incorrect string value: '\xF0\x9F\x98\x88\xF0\x9F...' for column 'name' at row 1
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Estoy bastante seguro de que expresó claramente su intención de usar UTF-8 contra toda su pila de tecnología... excepto sus datos.

Su problema real aquí es que sus datos (la cadena original) no son UTF-8 válidos para empezar. Puede verificar esto fácilmente con el siguiente fragmento:

 public static boolean isValidUTF8(byte[] input) { CharsetDecoder utf8Decoder = Charset.forName("UTF-8").newDecoder(); try { utf8Decoder.decode(ByteBuffer.wrap(input)); return true; } catch (CharacterCodingException e) { return false; } }

En su lugar, debe usar utf8mb4 hasta el final (incluida la definición de su columna, que debe ser ... CHARSET=utf8mb4 COLLATE utf8mb4_general_ci o ... CHARACTER SET utf8mb4 COLLATE utf8mb4_bin ).

Debe prestar especial atención a la versión (y configuración) de MySQL Connector de acuerdo con la documentación .

over 4 years ago · Santiago Trujillo Denunciar

0

Lo resolví actualizando mysql-connector-java a 5.1.49 y agregando lo siguiente a la cadena de conexión

 {connection string}?characterEncoding=UTF-8&useUnicode=true

referencia: https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-charsets.html

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda