百度搜索后
您好,提问者:
首先你要确定提交方式(method='get | post'),我来讲一下:
1
2
3
4
5
6
7
|
doPost():
页面:
<%@ page language=
"java"
import
=
"java.util.*"
pageEncoding=
"UTF-8"
%>
后台:
response.setContentType(
"text/html;charset=UTF-8"
);
//如果不指定UTF-8,页面显示乱码,但后台输出正确
//设置request请求过来的编码格式
request.setCharacterEncoding(
"UTF-8"
);
|
1
2
3
4
5
6
|
doGet():
1
、页面用跟Servlet的后台都使用UTF-
8
。
页面:<%@ page language=
"java"
import
=
"java.util.*"
pageEncoding=
"UTF-8"
%>
后台:response.setContentType(
"text/html;charset=UTF-8"
);
2
、乱码转换:
String username =
new
String(request.getParameter(
"username"
).getBytes(
"ISO-8859-1"
),
"UTF-8"
);
|
String devName = StringUtils.isEmpty(request.getParameter("devName"))?null:request.getParameter("devName").trim();
devName= new String(devName.getBytes("ISO-8859-1"), "utf-8");//解决无法导出中文搜索问题。
不管是jetty 还是tomcat了
if(devName!=null) {
if(java.nio.charset.Charset.forName("GB2312").newEncoder().canEncode(devName)){}
else{
devName = new String(devName.getBytes("ISO-8859-1"),"utf-8");//解决无法导出中文搜索问题。
}
}
解决方案二
jsp
var url = "${ctx} /export?sDate="+sDate+"&eDate="+eDate+"&tradeStatus="+tradeStatus+"&devName="+encodeURI(encodeURI(devName))+"&payment="+payment;
conrtoller:
if(devName!=null && !"".equals(devName))
{ devName= URLDecoder.decode(devName,"UTF-8"); }