时间:2015年7月29日09:10:45
jsp页面设置了编码<%@page contentType="text/html; charset=utf-8"%>
在Action方法里面获得request的Parmater参数。使用IE的时候下面的代码能输出正确汉字String param = (String) request.getParameter("param");param = new String(param.getBytes("ISO8859-1"));______________________________________________
使用火狐的时候,第二行必须改成
param = new String(param.getBytes("ISO8859-1"), "UTF-8");才能输出正确汉字。
原因:使用 <form>...</form> 提交的,浏览器会自动编码一次.ajax 或者Get方式提交的,需要自己手动编码。而encodeURIComponent 使用的是 UTF-8 编码规则来编的.
解决方案:
js里面用encodeURIComponent把传递的参数转了一下码(encodeURIComponent(param)),然后在java类中再转一次码String param = (String) request.getParameter("param");param = new String(param.getBytes("ISO8859-1"), "UTF-8");这样IE和火狐都能正常输出了。
(意思内容为搜索资料)