SSH 后台中文乱码 求解

前台传递中文参数到后台的时候,后台获取到参数后乱码了,后台需要做什么编码处理吗?

前台打印出来是没问题的,到后台的时候就变成这样了
select * from StandingBook where 1=1 and CompanyId='??????1??????' and RoadName='??????1??????'

1、编码同一,如utf-8;
2、后台转码试试,如new String(CompanyId.getByte("ISO-8859-1"),"utf-8");
3、CompanyId='??????1??????',机构ID为什么可以使用中文;
4、不知你是否用的JS传值,如果是的话,试试前台:encodeURI(encodeURI(CompanyId));后台:java.net.URLDecoder.decode(CompanyId , "UTF-8");

在web.xml里面配置一个字符集过滤器

/GIS/StandingBook/SearchStandingBookList.do?RoadName= 就是这种单纯的URL传参

你如果用的是tomcat的话,建议你在tomcat配置文件server.xml中

connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
这个节点中,加入 URIEncoding="UTF-8"

楼上的回答是正确的,不要配置拦截器,容易出问题

form表单提交方式,get/post 。。。

1、确认form表单提交方式
2、request.setCharacterEncoding("utf-8"); 后台获取的时候 在方法最前面 试下这句话

可以了,前台加一个encodeURI,后台加一个java.net.URLDecoder.decode(request.getParameter("RoadName"),"UTF-8");
感谢大家的帮助!