Strutsのフレームワークを使用して、Javaでデータベースの検索機能を実装しています。
画像のように「田中」と入力した際に、getParameterで受け取ると「逕ー荳ュ」と文字化けしてしまいます。
一通りWebで調べて試しましたが、どれもうまくいかない上に何が有効な解決方法なのかもわからなくなる始末です。
まずはコンソールに「田中」と表示させたいのですが、何かいい設定方法はございますでしょうか。
下記にコードを掲載させていただきます
Java
1package search.action; 2 3import java.nio.charset.StandardCharsets; 4import java.util.List; 5 6import javax.servlet.http.HttpServletRequest; 7import javax.servlet.http.HttpServletResponse; 8import javax.servlet.http.HttpSession; 9 10import org.apache.struts.action.Action; 11import org.apache.struts.action.ActionError; 12import org.apache.struts.action.ActionErrors; 13import org.apache.struts.action.ActionForm; 14import org.apache.struts.action.ActionForward; 15import org.apache.struts.action.ActionMapping; 16 17import dao.B14_DBAccess; 18import search.actionForm.SearchActionForm; 19 20public final class SearchAction extends Action{ 21 @SuppressWarnings("deprecation") 22 public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception{ 23 24 request.setCharacterEncoding("UTF-8"); 25 response.setContentType("text/html; charset=UTF-8"); 26 27 28 29 //ActionFormを取得する 30 SearchActionForm search = (SearchActionForm)form; 31 32 HttpSession session = request.getSession(); 33 ActionErrors errors = new ActionErrors(); 34 35 DBAccess db = new DBAccess(); 36 37 String sql = "select * from user"; 38 39 String inputId = request.getParameter("id"); 40 String inputName = request.getParameter("name"); 41 String inputKana = request.getParameter("kana"); 42 43 44 System.out.println(inputName); 45 inputName = new String(inputName.getBytes(StandardCharsets.UTF_8)); 46 db.connect(); 47 48 db.commit(); 49 50 //NAME欄に入力がある場合 51 if(inputName != null) { 52 sql = sql + " where name like '%" + inputName + "%'"; 53 } 54 55 List<String> str = db.selectExec(sql); 56 57 session.setAttribute("oldData", str); 58 saveErrors(request, errors); 59 return (mapping.findForward("success")); 60 61 } 62} 63
足りない情報がありましたらお申しつけください。
以上、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/30 06:44
2020/11/30 06:59
2020/11/30 07:00
2020/11/30 07:03
2020/11/30 07:05
2020/11/30 07:10
2020/11/30 07:11
2020/11/30 07:14