Access + SQLServer の既存業務システムを
Webシステムに リプレイスしようと、現在試作中。
画面から入力するテキストは 日本語と中国語。
どちらも、入力画面に入力して、確認画面に表示するまでは
問題ないが、データベースに登録すると、中国語が文字化けする。
いろいろ調べて、下記のような設定を追加しても駄目。
他に何か方法は無いでしょうか?
glassfish-resources.xml
(略)
<property name="characterEncoding" value="UTF-8"/>
<property name="characterSetResults" value="UTF-8"/>
<property name="useUnicode" value="true"/>
<property name="sendStringParametersAsUnicode" value="true" />
(略)
(開発環境)
NetBeans 8.02
JDK 1.8
Java EE7 APIライブラリ - Javaee-api-7.0.jar
EclipseLink(JPA 2.1)
Microsoft JDBC Driver 6.0 for SQL Server (sqljdbc42.jar)
glassfish 4.1
SQLServer Express 2014
DB上、テキストの項目定義: nvarchar (Japanese_CI_AS)
ちなみに、直接 SQL文を実行して、例えば
UPDATE T1 SET F2 = '你好' WHERE F1 = 1;
とすると文字化けするが、
UPDATE T1 SET F2 = N'你好' WHERE F1 = 1;
とすれば文字化けしない。
但し、JPA で em.merge(entity); のようにして登録したいので、
直接 SQL文を操作することはできない。
以上、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/11 18:58