つまり、MySQL JDBCドライバーは、文字が最初に送信された文字エンコードをサポートしていません。 MySQL JDBCドライバーは、文字データをDBに送信するときに、デフォルトでプラットフォームのデフォルトエンコーディングになります。たとえば、ISO8859-1などです。 useUnicode
を指定して、そうしないように指示する必要があります およびcharacterEncoding
JDBCURLのパラメータ。
jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8
ビューテクノロジとしてFaceletsを使用している場合、HTMLコンテンツのレンダリングと送信されたパラメータ値の処理に関して、JSFはそれ自体ですでにUTF-8にデフォルト設定されています。したがって、問題は少なくともそこにはありません。