Med andre ord understøtter MySQL JDBC-driveren ikke den tegnkodning, som tegnene oprindeligt blev indsendt med. MySQL JDBC-driveren er standard til platformens standardkodning, når der sendes tegndata til DB, som for eksempel kan være ISO 8859-1. Du skal fortælle den ikke at gøre det ved at angive useUnicode
og characterEncoding
parametre i JDBC URL.
jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8
Når du bruger Facelets som visningsteknologi, er JSF allerede som standard UTF-8, når det kommer til at gengive HTML-indhold og behandle indsendte parameterværdier. Så problemet er i hvert fald ikke derinde.
Se også:
- Unicode – Sådan får du tegn ikke? - Databaser
- MySQL Connector/J Manual - 19.3.4.4. Brug af tegnsæt og Unicode