<input type="submit" value="加入购物车aaa" name="mygood">
在JSP里加入from表单,提交value的值传给后台的servlet,在servlet中接受到的字符串中文在后台始终是乱码。
servlet代码如下:
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
String test = req.getParameter("mygood");
System.out.println(test);
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
doPost(req,resp);
}
尝试着加了
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
并且把JSP页面和servlet页面中一切和字符集有关的东西都改成 UTF-8 均无法解决。
另外比较有意思的是将这串字符输出到页面是没问题的,但是用println输出到控制台就是乱码。
最后解决办法:
from默认提交方式为get,将method设置为post,即可解决问题