Problema el retornar cadenas con ñ en MySQL desde Java

publicado por: Anonymous

Estoy utilizando una base de datos MySQL con una aplicación Spring.

La base de datos debe tener datos de carácter personal encriptados. Esto se hace con AES_ENCRYPT. Se obtienen los datos con AES_DECRYPT para mostrarlos.

El problema es que al devolver cadenas que deben incorporar ñ, tildes o caracteres especiales, no se muestran como tal y sí modificados (ñ como ñ).

¿Alguien sabe como devolver desde la base de datos los caracteres correctos?

Entiendo que los está almacenando ya modificados (ñ en vez de ñ) en un campo VARBINARY.

EDITADO

Para la table se está utilizando utf8 - utf_spansih_ci. El tema es que en los campos que no son VARBINARY se almacena de forma correcta.

solución

Sí, tienes que indicarle que es un carácter especial de utf8_spanish.

SELECT nombre 
  FROM empleados 
 WHERE nombre
  LIKE '%ñ%' COLLATE utf8_spanish_ci 
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *