En otras palabras, el controlador JDBC de MySQL no admite la codificación de caracteres con la que se enviaron originalmente los caracteres. El controlador JDBC de MySQL utiliza de forma predeterminada la codificación predeterminada de la plataforma al enviar datos de caracteres a la base de datos, que puede ser, por ejemplo, ISO 8859-1. Debe decirle que no haga eso especificando useUnicode
y characterEncoding
parámetros en la URL de JDBC.
jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8
Cuando utiliza Facelets como tecnología de visualización, JSF ya tiene por defecto UTF-8 cuando se trata de representar contenido HTML y procesar valores de parámetros enviados. Así que el problema al menos no está ahí.
Ver también:
- Unicode:cómo obtener el personajes, ¿verdad? - Bases de datos
- Conector MySQL/J Manual - 19.3.4.4. Uso de conjuntos de caracteres y Unicode