然后网上很多解决方法说设置3个地方
1、jsp页面需要设置
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page contentType = " text/html;charset=gb2312 " %>
2、Servlet中
request.setCharacterEncoding("UTF-8");
3、Tomcat的server.xml中
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
useBodyEncodingForURI="true"
IEncoding="utf-8"
URIEncoding="utf-8"/>
还是乱码/(ㄒoㄒ)/~~ 求救O(≧口≦)O
在Servlet里面转换一下就行了。
realName = new String(request.getParameter("realName").getBytes("ISO-8859-1"),"UTF-8");
上面有个错了
使用post请求乱码
修改tomcat的配置文件server.xml:
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8" />
只需增加 URIEncoding="UTF-8" 这一句,然后重启tomcat即可。
啊啊啊啊啊啊啊啊啊啊啊啊啊,就一个很简单的例子,SOS~~好捉急
1、index.jsp写了个表单提交
<form action="servlet/HelloServlet" method="post">
<input name="command" type="text" value="查看"/>
<input type="submit" value="Post"></input>
</form>
2.servlet中获得参数然后跳转
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("Post()");
PrintWriter out = response.getWriter();
response.setContentType("text/html;charset=utf-8");
out.println("<strong>Hi~~~</strong><br>");
request.setCharacterEncoding("UTF-8");
String str1 = request.getParameter("command");
// String str1 = new String(request.getParameter("command").getBytes("ISO-8859-1"),"UTF-8"); 这个也试过 还是不行
System.out.print(str1); //这里输出就已经是乱码
request.setAttribute("str1",str1);
request.getRequestDispatcher("/WEB-INF/content/index1.jsp").forward(request, response);
}
3index1.jsp显示一下内容
${str1}
果然,自己好了,clear了一下后,重启了myeclipse,就好了
分享一下一篇有关乱码的总结 http://blog.csdn.net/longyuhome/article/details/7856270
= =还是不行,虽然从jsp-->servlet-->jsp显示的中文都是正常,但是在jsp-->servlet-->jsp的过程中servlet用System.out.print(str1); 输出的内容还是???,而且在servlet无法使用这个数据来干点嘛,- -因为它是乱码~~~怎么破~~~~