SSH 后台中文乱码 求解

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

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

8个回答

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");

tzc6314185
壹叁伍柒镹 回复A651942421: http://blog.sina.com.cn/s/blog_ad1c3bdf0102uz99.html个你看下对你有没有帮助,可以在后台java方法中的第一、二行加下如下设置 request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");
3 年多之前 回复
A651942421
A651942421 你的方法都试了。不行,还是乱码
3 年多之前 回复

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

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

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

DreamingJ
捍卫简单 配置了 我觉得应该传递中文参数的话。前台应该要做一些处理
接近 4 年之前 回复

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

A651942421
A651942421 也不行的,过去还是乱码
3 年多之前 回复
_fenghun
雪无殇 /GIS/StandingBook/SearchStandingBookList.do?RoadName= encodeURI(encodeURI(" 就是这种单纯的URL传参"),这样应该可以解决,或者你后台接收的时候,进行字符集处理下,不过不建议url传参中文
接近 4 年之前 回复

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

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

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐