###前提・実現したいこと
ある教本に記載されているサーブレットのサンプルコード(javaとhtml)を入力して、ブラウザで実行しましたが、フォームから入力して、出力した文字が文字化けしてしまいます。
エラーメッセージ
###該当のソースコード
Java
1import java.io.*; 2import javax.servlet.*; 3import javax.servlet.http.*; 4 5public class Sample2 extends HttpServlet 6{ 7 public void doGet(HttpServletRequest request, 8 HttpServletResponse response) throws ServletException 9 { 10 try{ 11 //フォームデータの取得 12 String tmp = request.getParameter("cars"); 13 String carname 14 = new String(tmp.getBytes("8859_1"), 15 "JISAutoDetect"); 16 17 //コンテンツタイプの設定 18 response.setContentType 19 ("text/html; charset=Shift_JIS"); 20 21 //HTML文書の書き出し 22 PrintWriter pw = response.getWriter(); 23 pw.println("<html>\n" 24 + "<head><title>\n" + carname 25 + "</title></head>\n" 26 + "<body><center>\n" 27 + "<h2>\n" + carname + "</h2>\n" 28 + carname 29 + "のお買い上げありがとうございました。<br/>\n" 30 + "</center></body>\n" 31 + "</html>\n"); 32 } 33 catch(Exception e){ 34 e.printStackTrace(); 35 } 36 } 37} 38 39```html 40<html> 41<head> 42<title>サンプル</title></head> 43<body><center> 44<img src="car.png"/><br/> 45<h2>ようこそ</h2> 46<hr/> 47お選びください。<br/> 48<br/> 49<form action="http://localhost:8080/Sample02/servlet/Sample2" method="GET"> 50<input type="text" name="cars"/> 51<input type="submit" value="送信"/> 52</form> 53</center></body> 54</html> 55 56###試したこと 57本サイトでも似たような質問も見つけて、javaコード側の「JISAutoDetect」をほかのコードに変えたり、html側でも<meta>~行を追加してShift-jisを設定する、またUTF-8なども試してみましたが、結果は変わりませんでした。 58 59###補足情報(言語/FW/ツール等のバージョンなど) 60ブラウザはIE11 61java、htmlのファイルはShift-JISで保存しています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/08 01:01