- - PR -
JSP遷移時の文字化け。
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-07-20 11:57
***** 環境 *************************************************
・Windows2000(SP4) ・Tomcat5.0.28 ・j2sdk1.4.2 ・Eclipse2.1.3 ・struts1.2.4 ***** 状況 ************************************************* Actionクラスから、JSPに遷移した際に、 日本語が文字化けしてしまいます。 MSGが「あいうえお」としたのに、ブラウザに表示されるときには「BDFHJ」 になってしまいます・・・。 どなたか原因がわかる方、ご教授お願い致します。 ***** ソース ************************************************* [[[ confirm.jsp(一部) ]]] <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page pageEncoding="Shift_JIS" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <% request.setCharacterEncoding("Shift_JIS"); %> メッセージ:<%=request.getParameter("MSG")%><BR> [[[ myaction.java(一部) ]]] public class myaction extends Action { public ActionForward execute(ActionMapping p_map, ActionForm p_form, HttpServletRequest p_req, HttpServletResponse p_res) throws Exception{ String s_url = URLEncoder.encode( "http://localhost:8080/mysample/confirm.jsp?MSG=あいうえお" "Shift_JIS"); p_res.setContentType("text/html; charset=Shift_JIS"); p_req.setCharacterEncoding("Shift_JIS"); ActionForward af = new ActionForward(); af.setPath(s_url); af.setRedirect(true); frminp = null; return af; } } [ メッセージ編集済み 編集者: まいこ 編集日時 2005-07-20 11:58 ] |
|
投稿日時: 2005-07-20 12:24
ここが参考になると思います。
http://www.nihon-eng.co.jp/c-break/TechNote/tomcat/TCAT5_Inst.htm デフォルトのTomcat5はクエリストリングのエンコーディングを行ってくれません。 ですので、server.xmlのConnector要素にuseBodyEncodingForURI="true"という属性を 設定する必要があります。 |
|
投稿日時: 2005-07-20 13:13
かつのり様、レスの方ありがとうございました。
教えていただきましたサイトを参考に、 TomcatのServer.xmlに userBody〜を追加、 <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" useBodyEncodingForURI="true" /> strutsのプロジェクトごとにできるweb.xmlを <filter> <filter-name>Set Character Encoding</filter-name> <filter-class>filters.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>Shift_JIS</param-value> </init-param> </filter> このようにしたのですが、未だ文字化けの方が改善されないです・・・。 他に怪しい箇所とかはありますでしょうか? |
|
投稿日時: 2005-07-20 13:31
参考になるか分かりませんが
以下の方法で文字化けが直る場合があります。 jspをサクラエディタで開いて保存する時に文字コードセットと 改行コードが選択できるようになっています。 ここで文字コードセットをSJIS、改行コードをCR+LF にセットして保存してください。 その後、jspの.javaファイルとclassファイルを削除して 実行すると文字化けをしなくなる時があります。 |
1