Jinými slovy, ovladač MySQL JDBC nepodporuje kódování znaků, ve kterém byly znaky původně odeslány. Ovladač MySQL JDBC se při odesílání znakových dat do DB standardně nastaví na výchozí kódování platformy, což může být například ISO 8859-1. Musíte mu říct, aby to nedělal, zadáním useUnicode
a characterEncoding
parametry v adrese URL JDBC.
jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8
Když používáte Facelets jako technologii zobrazení, JSF se sám již nastaví na UTF-8, pokud jde o vykreslování obsahu HTML a zpracování odeslaných hodnot parametrů. Takže problém alespoň není tam.
Viz také:
- Unicode – jak získat postavy, že? – Databáze
- Příručka MySQL Connector/J – 19.3.4.4. Použití znakových sad a Unicode