sevlet 需要 在xml更新一下 才可以编译servlet |
1 、客户端的get请求 |
对于不同的请求方式,解决乱码的问题也是不一样的,对于客户端的get请求来说,服务器端处理要想不出现乱码,解决这个问题稍微复杂一些,需要用到String类型的构造函数,其中的一个构造函数就是用指定的编码方式去解码,一般都用“UTF- 8 ”的方式。只要在服务器端将请求得到的参数重新构造成一个字符串就行了。如下所示: |
String stuname = request.getParameter( "stuname" ); |
String str = new String(stuname.getBytes( "ISO-8859-1" ), "utf-8" ) |
经过构造之后,客户端输入中文,且表单时get请求的情况下,str就变成了中文了。如果请求参数比较多,最好将它封装成一个工具类: |
public class MyUtil |
{ |
public static String getNewString(String str) throws UnsupportedEncodingException |
{ |
return new String(str.getBytes( "ISO-8859-1" ), "UTF-8" ); |
} |
} |
String stuname= MyUtil.getNewString(request.getParameter( "stuname" )); |
2 、客户端的post请求 |
对于客户端的post请求来说,处理乱码的问题就比较简单了,因为请求的数据时作为请求体的一部分传递给服务器的,所以只要修改请求内的编码就行了。只要在服务器端的最开始处将请求的数据设置为“UTF- 8 ”就行了,输入如下语句: |
request. setCharacterEncoding(“UTF- 8 ”); |
这样用户在服务器端获取到的中文数据就不再是乱码了。 |
http: //blog.csdn.net/longyuhome/article/details/7856270 |
by: 发表于:2017-12-26 10:41:53 顶(0) | 踩(0) 回复
??
回复评论