自称第1種兼業ミュージシャン?えむによるブログ 

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
    --:-- | Top

Javaの文字化け対策

Javaでのパラメータ渡しで、URLエンコードは確かにした方がいいです。

ただしURLエンコードデータをサーバーに送る際、
サーブレットサーバーの環境によって結果が変わってきます。

Tomcat側の対応方法ですが、
そのテスト環境のserver.xmlにConnectorタグがあると思いますが、
(別HTTPサーバーとの連携でAJP利用の場合はprotocol属性の値がAJPの方のConnectorタグ。
Tomcat付属のHTTPサーバー利用の場合はprotocol属性の値がHTTPの方のConnectorタグ)
そこに新たに「URIEncoding」属性を追加してみてください。
追加した属性の値は、URLエンコードする側(今回で言えばJSP側)のエンコードタイプ
を指定してください。

これでサーバーを再起動すればうまく表示されると思います。
他のサーブレットサーバーを利用している場合もおそらく
エンコードタイプの指定があると思います。

///////////////////////////////////////////

サーバー環境はTomcatでエンコードタイプはWindows-31Jでした。

解決方法ですが、JavascriptのURLエンコードではJava側で幾つかの文字がエンコードされなかったので
送信側のJSPにてJavaのロジックを用いてWindows-31JでURLエンコードするようにしました。
これで文字化けすることなく処理できるようになりました。

■修正後
<%@ page import = "java.net.URLEncoder" %>
<%
//Firefox文字化け対策(URLエンコード)
String key = URLEncoder.encode(★エンコードする変数, "Windows-31J");
%>


Javaのエンコード、デコードを用いる事で、Javascriptなど異なる言語のエンコードとの相違を元から排除する形ですね。
 
Comment
 
 






(編集・削除用)


管理者にだけ表示を許可
 
Trackback
 
 
http://mism.blog13.fc2.com/tb.php/432-8366df9c
 
 
プロフィール
 
 

えむ

  • Author:えむ
  • 現在ベンチャー企業を経営する傍ら
    兼業ミュージシャンとして活動中。
    お問い合わせはこちらまで。
 
 
最近の記事
 
 
 
 
最近のコメント
 
 
 
 
最近のトラックバック
 
 
 
 
月別アーカイブ
 
 
 
 
カテゴリー
 
 
 
 
ブロとも申請フォーム
 
 
 
 
ブログ内検索
 
 
 
 
RSSフィード
 
 
 
 
リンク
 
 
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。