質問: この質問に関連します。 この記事の「(2) JDBC接続のエンコーディングをUTF-8に設定」のところに、GlassfishでのJDBC接続のエンコーディング設定方法が説明されています。 WildflyやJBossEAPで、上記設定に相当するものをやりたいのですが、どうやればいいのでしょうか? 【追記】 使用しているDBは、SQLServer, Oracle, PostgreSQLです。 現状、Oracleのみ、SJIS(CP932)外の文字を保存しようとすると、文字化けが発生しています。 アプリケーション(JPA)を介さずに、直接SQLを流す場合、Nプレフィクスをつけていれば文字化けしないので、DB側の問題ではないと推測しています。
回答: MySQLやH2などのDBを使用している場合、Standalone.xmlのconnection-urlにパラメタを設定することで可能だと思います。(下記はmysqlの例) ``` jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf8 ..... ``` また、こちらの回答にもしましたが、oracleの場合、standalone.sh等の起動パラメタで > > -Doracle.jdbc.defaultNChar=true > > > をつけることでNCharを使うことができるようです。 Oracleの場合connection-urlで設定可能かどうかは環境がないため試せないですが、しっかり動くようです。 Wildfly 10 datasource configuration