温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

jsp中request接收中文参数乱码问题解决办法

发布时间:2020-07-19 12:29:04 来源:网络 阅读:9452 作者:J星星点灯 栏目:开发技术

    在利用表单提交数据时发现,获得的中文参数会发生乱码,解决方法如下:

<body>
	<%
		String s=request.getParameter("uname");
		s = new String(s.getBytes("ISO-8859-1"),"utf-8");//解决乱码问题
	%>
	<%=s %>
</body>

s = new String(s.getBytes("ISO-8859-1"),"utf-8");此程序的作用是将接收到的的参数先转化为字节码文件,然后进行utf-8编码。

防止中文乱码的总结:

  

1、对于同一个应用,最好统一编码,推荐为UTF-8,当然GBK也可以。     

2、正确设置JSP的pageEncoding="UTF-8" 

3、在所有的JSP/Servlet中设置contentType="text/html;charset=UTF-8"或response.setCharacterEncoding("UTF-8"),从而间接实现对浏览器编码的设置。     

4、对于非表单提交的get或url请求,可以修改Tomcat的默认配置,推荐将useBodyEncodingForURI参数设置为true,也可以将URIEncoding参数设置为 UTF-8(有可能影响其他应用,所以不推荐)。或者用下面的方法,在接收数据时处理:

  request.getParameter("userID"),得到userID的值   

  request.getParameter("userID").trim()将这个值去掉两边的空格   

  request.getParameter("userID").trim().getBytes("ISO-8859-1"))将这个String用ISO-8859-1编码成一个字节数祖   

  new   String(request.getParameter("userID").trim().getBytes("ISO-8859-1"),"utf-8")将刚才的字节数祖传进string的构造函数按照"utf-8"编码创建一个string对象。 

5.使用URLEncoder的方法

传参前用: 

//使用指定的编码机制将字符串转换为 application/x-www-form-urlencoded 格式

String username_encoder = URLEncoder.encode(username,"UTF-8");

接参数后显示用:

//使用指定的编码机制对 application/x-www-form-urlencoded 字符串解码

String username_decoder = URLDecoder.decode(request.getParameter("username"),"UTF-8");


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI