jspの文字化け解消方法

このQ&Aのポイント
  • jspの文字化けを解消する方法を教えてください。
  • input.jspとresult.jspの日本語文字化け問題の解消方法について教えてください。
  • JSPで日本語文字化けが発生する場合の解消方法を教えてください。
回答を見る
  • ベストアンサー

jspの文字化けの解消方法を教えてください

input.jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form action="result.jsp" method="post"> <input type="text" name="name"> <input type="submit" value="送信" name="submit"> </form> </body> </html> result.jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> あなたの名前は<c:out value="${param.name}" />です。 </body> </html> 以上のJSPにおいてinput.jspを実行して表示されるフォームに 日本語を入力するとresult.jspにおいてその出力が文字化けします。 この問題の解消方法を教えてください。

  • reiman
  • お礼率73% (794/1076)
  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • pug0429
  • ベストアンサー率75% (3/4)
回答No.1

<% request.setCharacterEncoding("UTF-8"); %> 上記のコードを、 result.jspのbodyの先頭に入れてみてはいかがでしょうか? input.jspのフォームから送信される文字列は、 requestに格納され、遷移先画面で参照することになります。 なので、参照する前に文字コードを教えてやる。

reiman
質問者

お礼

ありがとうございます。 解消しました。

関連するQ&A

  • Jspで文字化けするのです

    がどうしたらいいでしょうか? Java1.6.0_13&Tomcat6.0.18をEclipse3.42で動かしています。 以下のJSPを実行してみると文字化けします。 よろしくお願いします。 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Java JakartaStruts</title> </head> <body> <bean:include id="page2" href="http://www.google.co.jp/" /> <%=page2%> </body> </html>

    • ベストアンサー
    • Java
  • Apache+TomcatでGET送信すると文字化けする

    下記の構成で開発をしています。 Apache2.0.54 j2sdk1.4.2_08 Tomcat5.0.28 JK2 Tomcat単独では、GETで送信した日本語でも取得できましたが、 Apacheを通すと文字化けしてしまいます。 何か良い解決方法等ありましたらお教えください。 【送信】 <form action="test.jsp" method="GET"> <INPUT type="text" name="test" value="てすと" /> <input type="submit" value="submit"> </form> 【受信】 <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <% request.setCharacterEncoding("UTF-8"); String sTest = ""; sTest = request.getParameter("test"); %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> <title>test</title> </head> <body> <%= sTest %> </body> </html> 【表示結果】 てすと.

  • JSPでの文字化け

    こんにちは。 今JAVAを勉強中でJSPファイルを作成しています。 test.jsp <%@ page language="java" contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J"%> <HTML> <HEAD><TITLE>文字表示テスト</TITLE></HEAD> <BODY> <% String text = request.getParameter("text"); if (text != null) { if (!text.equals("")) { out.println("画面からの文字<BR>"); out.println(text); } } %> <FORM NAME="testForm" METHOD="post" ACTION="test.jsp"> <TEXTAREA NAME="text"></TEXTAREA> <INPUT TYPE="submit" VALUE="送信"> </FORM> </BODY> </HTML> Windowsで上のプログラムを実行すると問題なく表示されますが Linuxサーバで実行すると???となってしまいます。

    • ベストアンサー
    • Java
  • JSP&Servletについて

    いつもお世話になっております。 JSP&Servletについての質問です。 ある画面からパラメーターを入力してServletに渡し、 その計算結果をResult.jspの画面に返すというツールを作成しているのですが、なぜか漢字が含まれていると文字化けしてしまいます。 ServletのほうでsetContentTypeメソッドを使っていないからでしょうか? でもResult.jspのほうで以下のようにしているのでいけると思うのですが、、 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>Result</TITLE> </HEAD> <BODY> <H1>Result</H1> <% String result = (String)request.getAttribute("result"); if (result != null){ %> <%= result %> <% } %> </BODY> </HTML> たとえば結果として 2002年と返したい場合 2002?と返ってきてしまいます。 お願いします。

    • ベストアンサー
    • Java
  • <bean:write.../>がエラーを出す

    のですが原因が分かりません。 したのソースでコメントアウトしたものが動かないのです。 コメントアウトしていないものは動いています。 何が悪いのでしょうか? よろしくお願いします。 gomi.jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean"%> <%@ page isELIgnored="false"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Java JakartaStruts</title> </head> <body> <jsp:useBean id="gomiBean" class="gomi.GomiBean" scope="request" /> <jsp:getProperty property="gomiInt" name="gomiBean"/><br/> ${gomiBean.gomiInt}<br/> <%-- <p>GomiBean gomiInt : <bean:write name="gomiBean" scope="request" property="gomiInt" /></p> --%> </body> </html>

  • XHTML meta属性 文字化け

    XHTMLを勉強しています。 以下のように記述して表示すると タイトルの部分が文字化けします。 何故でしょうか <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <title>ホームページの作り方</title> <meta name="description" content="初心者のためのホームページテスト" /> <meta name="keywords" content="ホームページ,作成,初心者" /> </head> <body> テスト </body> </html>

    • ベストアンサー
    • HTML
  • JSPのエラー画面(error.jsp)に遷移(移動)しない

    フォームを設定したlogin.htmlから情報を受け取るlogin.jspで検証をして、間違ったid番号を入力した場合はerror.jspに移動させたいのですが、遷移せず、「HTTP 500 - 内部サーバー エラー」となります。 改善のご教示お願い致します。 [login.html] <html><head><title>login.html</title></head> <body><h1>ログイン</h1><hr><br> <form method="post" action="/webapp/JSPtest/login.jsp"> <table> <tr> <td>ID:</td> <td><input type="text" name="id"></td> </tr> </table> <br><br> <input type="submit" value="送信"> <input type="reset" value="キャンセル"> </form> </body> </html> [login.jsp] <%@ page contentType="text/html;charset=Shift_JIS" pageEncoding="Shift_JIS" %> <%@ page errorPage="error.jsp" %> <html><head><title>login.jsp</title></head> <body> <% String id = "2007"; String data = request.getParameter("id"); StringBuffer temp = new StringBuffer(); if(!id.equals(data)) temp.append("数値間違い<BR>"); if(temp.length() != 0){ throw new Exception(temp.toString()); } %> <h1>こんにちは<%= data %>様</h1> <h1><%= temp.length() %> </h1> </body></html> [error.jsp] <%@page contentType="text/html;charset=Shift_JIS" pageEncoding="Shift_JIS" %> <%@ page isErrorPage="true" %> <html><head><title>error.jsp</title></head> <body> エラーメッセージ<br> <%= exception.getMessage() %> </body></html>

  • jspから別のjspへパラメータが送信できない

    javaBeanを利用してjspを作成したけど Test.jspのソース <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page import="struts.*" %> <jsp:useBean id="formprocess" class= "struts.FormProcess" scope="application" /> <jsp:setProperty name="formprocess" property="*"/> <html> <head> <title>TEST</title> </head> <h2>情報の入力</h2> <form method="GET" action="/javaroad/jspdir/Test_1.jsp"> <p> 名前: <input type="text" name="name" size=30> <p> メールアドレス: <input type="text" name="mailaddress" size=30> <p> <input type="submit" value="送信"> </form> </center> </body> </html> Test_1.jspのソース <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ page import="struts.*" %> <jsp:useBean id="formprocess" class= "struts.FormProcess" scope="application" /> <html> <head> <title>TEST</title> </head> <body> <p> 名前: <jsp:getProperty name="formprocess" property="name"/> <p> メールアドレス: <jsp:getProperty name="formprocess" property="mailaddress"/> </body> </html> Beanのソース package struts; public class FormProcess { String name; String mailaddress; public void setName(String name) { this.name = name; } public String getName() { return name; } public void setMailaddress(String mailaddress) { this.mailaddress = mailaddress; } public String getMailaddress() { return mailaddress; } } Test.jspでデータを入力して送信ボタンを押すとTest_1.jspではnullが表示します。前の入力したデータではないです。どうしたらできますか?

    • ベストアンサー
    • Java
  • Fire fox の 文字化けを解消する方法を教えてください。

    Fire fox の 文字化けを解消する方法を教えてください。 ホームページの作成途中で文字化けがあることに気づきました。 IEでは問題ないのですがFire foxでは文字化けをしているようなのです。 文法的に問題があるのでしょうか? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-type" content="text/html; charset="utf-8"> <title>投稿フォーム</title> </head> <body> <h1>投稿フォーム</h1> <from action="3_1_2.php" method="post"> お名前 <input type="text" name="uname" size="15"> EMAIL <input type="text" name="email" size="25"><br/> <input type="radio" name="gend" value="男性"> 男性 <input type="radio" name="gend" value="女性"> 女性|年齢 <select name="age"> <option valu"">選択して下さい</option> <option>未公開</option> <option>10代以下</option> <option>10代</option> <option>20代</option> <option>30代</option> <option>40代</option> <option>50代</option> <option>60代以上</option> </select><br/> 表題 <input type="text" name="psubject" size="50"><br/> <textarea name="pbody" cols="50" rows="10"></textarea><br/> <input type="reset" name="reset" value="リセット"> <input type="submit" name="sbm" value="登録する"> </form> </body> </html>  以上の内容の投稿フォームを作成したいのですが どこかに文字化けを起こす原因があるのでしょうか、よろしくお願いします。

    • ベストアンサー
    • HTML
  • 送信フォームからjspページに値を飛ばしたい

    jspページでhtml,javaScriptを用いてフォームの入力制限を行い、FMenu.jspという、jspページにフォームの値を送信したいのですが、うまくいきません。どなたか教えてください。 Form.jspファイル(中略) <%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>フォーム入力画面</title></head> <body><center> <script type="text/javascript"> <!-- function checkForm(){ var a,b; NCheck(); if(a==true){ WCount(); } ACheck(); if(b==true){ WCount(); document.FM[0].submit(); document.FM[1].submit(); } } (中略) //--></script> <form action="Menu.jsp" method="POST" name="FM"> ID<input type="text" name="ID" size="20" maxlength="4"><br> パスワード<input type="text" name="PASS" size="20" maxlength="4"> <input type="button" value="OK" onClick="return checkForm();"> (中略)

専門家に質問してみよう