JSFとEclipseLink JPA to MySQLデータベースを使用する Web アプリケーションに大きな問題があります。
データベースからデータを読み取ると、JSF は文字を UTF-8 OK で読み書きします。しかし、データベースの文字は悪いです。
fe: 入力文字: "żźćółzxcv"、データベースに記述: "???????zxcv"。しかし、たとえば「żźćółzxcv」のように手動でデータベースにデータを書き込む場合、JSF での読み取りは完璧です。
ここからすべてを試しました:PrimeFaces入力コンポーネントを介して取得されたUnicode入力が破損する
そして、JSFでのエンコーディングは問題ないことを発見しましたが、手動で設定した場合、問題はJavaにあります
current.setUwagiZ("żźćóżźćłąśóżźćł TE");
getFacade().edit(current);
in データベース レコードが間違っています:???ó??????ó???? TE
JDBC リソースに characterEncoding と useUnicode を設定しました。また、NetBeansエンコーディングでいくつかのツールでコマンドを実行してもOKで、MySQLのデータがUTF-8であるため、接続は問題ないようです。
問題はJavaですが、これを解決する方法がまったくわかりません:(