UTF-8 整合性のための JDBC 文字エンコーディング
GlassFish 3、EclipseLink JPA、および MySQL を使用する Web アプリケーションで、ユーザーが次のような問題に遭遇しました。 update() メソッドを使用して保存すると、データベース エンティティの文字列フィールドの整合性が失われ、その結果、 「?」文字。この問題は、UTF-8 エンコーディングを使用するようにサーバー、ページ、データベースを構成しても解決しません。
この問題に対処するには、文字エンコーディングが JPA ではなく JDBC によって決定されることを認識することが重要です。適切なエンコードを保証するには、JDBC URL で UTF-8 を明示的に指定する必要があります:
jdbc:mysql://localhost:3306/administer?characterEncoding=utf8
このパラメータを設定すると、JDBC 接続は UTF-8 を使用してデータをエンコードおよびデコードし、エンティティ内の文字列フィールドの整合性を維持します。データベースに保存されます。
以上がGlassFish 3 Web アプリケーションで JDBC 接続との UTF-8 文字エンコーディングの整合性を確保するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。