Met andere woorden, het MySQL JDBC-stuurprogramma ondersteunt niet de tekencodering waarmee de tekens oorspronkelijk zijn ingediend. Het MySQL JDBC-stuurprogramma gebruikt standaard de platformstandaardcodering bij het verzenden van tekengegevens naar de DB, wat bijvoorbeeld ISO 8859-1 kan zijn. Je moet het vertellen om dat niet te doen door de useUnicode
. op te geven en characterEncoding
parameters in de JDBC-URL.
jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8
Wanneer u Facelets als weergavetechnologie gebruikt, is JSF zelf al standaard ingesteld op UTF-8 als het gaat om het weergeven van HTML-inhoud en het verwerken van ingediende parameterwaarden. Dus daar zit het probleem in ieder geval niet.
Zie ook:
- Unicode - Hoe de tekens toch? - Databases
- MySQL Connector/J-handleiding - 19.3.4.4. Tekensets en Unicode gebruiken