2016-03-29 1 views
1

おはよう、jspがJavaクラスファイルにベトナム語を渡します

私はこれにGoogleを試みましたが、関連する提案/解決策を得ることができませんでした。私の質問は多分誤解を招くかもしれないと思う。私は、更新ボタンをクリックすると

<s:textarea name="errorMessage.message" maxlength="500"/> 

、私のJavaアプリケーションは、このerrorMessage.messageを取得し、DBに格納されます:私のJSPページで

は、私が入力したテキストエリアボックスを持っています。

ユーザーのキーが英語の場合、これはうまくいきます。しかし、もし私がベトナム語をキーすると、それは私のJavaファイル内の他の奇妙なシンボルに変わります。

たとえば、ユーザ入力siêu nhânは、siêu nhânになります。

String test = getRequest().getParameter("errorMessage.message"); 
System.out.println("errorMessage.message is " + test); 
// It will print out "errorMessage.message is siêu nhân" in my console. 

しかし、私はそれをJavaファイルにハードコードしておけば、正常に動作し、ベトナム語も正しくデータベースに格納できます。

errorMessage.setMessage("siêu nhân"); 

System.out.println("now message is " + errorMessage.getMessage()); \\ this print correctly in my console 

私が試みられている。

getRequest().setCharacterEncoding("UTF-8"); 

<%@page pageEncoding="UTF-8"%> 

しかし、まだ同じ問題を、親切に助言します。

+0

db2 ** db2jcc4.jar **または** db2jcc4.jar **に接続するためにどのjarを使用していますか? – Shaunak

+0

@Shaunak、私はスプリングバッチを実行するときにのみ 'db2jcc4.jar'を使用します。 Webアプリケーションレベルでは、私は、IBM WASコンソールの設定、リソース 'JDBC'レベルでの設定によって、db2に接続していると考えています。 –

+0

UTF-8変換が適用されているように見えます.ISO文字セットは、すべてのマルチアクセント文字を表すことはできません。例えば。 PhailandはPhá»として表示されます。 あなたのアプリがUTF-8 – Stavr00

答えて

1

最後に、私はいくつかの解決策を得る:(1つの入力用のみ適用)

解決方法1:

try { 
     byte[] bytes = test.getBytes("ISO-8859-1"); 
     test = new String(bytes, "UTF-8"); 
    } catch (UnsupportedEncodingException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

ソリューション2(システム全体の申請):

私が使用していたので、アプリケーションサーバー> SITSMESCAPP01a>プロセス定義> Java仮想マシン

汎用のJVM引数に-Dclient.encoding.override=UTF-8を追加します。

サーバーを再起動します。

関連する問題