get方式 解决方式:
1. new String(string.getBytes("ISO-8859-1"),"UTF-8"); 分析:表单中文数据在页面以ISO编码后,通过Http协议传输,到达Servlet后,若以UTF-8解码,会出现乱码。所以需要先转成字节(ISO-8859-1解码,传过来的是以它编码的),再包装成字符串(UTF-8编码)。Servlet中就可以显示了(UTF-8)。
2. get方式就是在接收到字符串后进行转码处理
3. String name = new String(request.getParmeter("name").getBytes("ISO-8859-1"),"UTF-8");
post方式 解决方式:
1. request.setCharacterEncoding("UTF-8"); 分析:这里单向设置服务器端的解码方式UTF-8即可(注意是通过request设置)。因为从服务器来的页面一般已经设置成了UTF-8格式了(例如JSP提交的页面)。
2. POST的话直接在接收前面写上上面那一名即可 如:
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
原文地址:https://www.cnblogs.com/qjiamei/p/9500675.html
时间: 2024-10-10 06:13:34