jsp页面之间传值乱码问题解决

前提:博主所写所有关于乱码问题都会提到一个大前提,请务必保证两端的编码一致,不然乱码就可能产生了。

乱码问题的产生,核心就是,出口和入口的标准不一致引起的,就像你跟老外讲话一样,然而老外不懂中文,所以他那边接收的内容就是无效的,可以理解为乱码。


本文以JSP为例,所以请在JSP的字符集上设置上你的定义,在JSP页面顶部加上:

<%@ page language="java" pageEncoding="UTF-8"%>


下面写一个例子:

定义A页面填写内容,提交后跳转到B页面,在B页面输出内容。

A页面定义form表单

<form action="b.jsp" method="post">
	<input class="new_serch" type="text" name="productName"/>
	<input type="submit" value="提交" class="new_ser_button" />
</form>

B页面接收值输出

<% 
String productName = request.getParameter("productName"); 
%>
<body>
    <%=productName%>
</body>


例子完成。


解决乱码:

1、检查2个页面或多个页面的顶部,pageEncoding 编码是否一致。


2、有的人因为特殊原因,正好这个页面的字符集不能更改,那么在接收参数的时候,手工指定转码。这个时候乱码问题就解决了,但是这只适合个例,如果参数过多怎么办。

String productName = new String(request.getParameter("productName").getBytes("ISO-8859-1"),"GB2312");



总结:

前端展现乱码,主要是未给文件设置编码格式引起的,其他不会仅仅是前端,请参考其他乱码解决说明。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值