jsp传人java文件乱码_java传参、jsp乱码问题的一些解决办法

中文乱码是web开发中一个棘手而必须解决的问题。现列举乱码出现的一些情况和解决方法:

String sms = new String(request.getParameter("smsTemplateText").getBytes("ISO8859_1"),"utf-8");

1,jsp文件问题:

这个首先是要在工程中统一的。这里统一成utf-8。

2,工程编码设定:

右键工程,选properties,出来第一个窗口查看“text file encoding”,看是不是utf-8。

3,struts.xml:

试试这个吧:

这个标签定义了struts2的国际化设置的一个拦截器,它做的事很多,包括设置用户的默认区域设置。

倘若以上问题还不能解决,继续尝试:

4,tomcat目录下server.xml:

找到当前所使用的那一个port,增加URIEncoding的设置:

URIEncoding="utf-8"

connectionTimeout="20000"

redirectPort="8443" />

tomcat的环境问题,无需多说。

5,还是乱码?如果jsp页面涉及了传参(表单提交或是Ajax Post/Get),并且后台莫名其妙仍旧出现乱码,不妨手动编码和解码。

以Ajax向后台提交为例:

var url = "featureWordDetail" + "?timestamp=" + new Date().getTime();

var params = "prodId="+ "" + "&featureWord=" + encodeURI($(this).text(),"utf-8");

$.getJSON(url,params,function callback(data){

....

}

这里利用js的encodeURI("....","utf-8")把指定文字按照utf-8转码,以转码后的字符串(数字和%%混合)作为参数提交。这种办法的好处

比较多,也比较保险。

ps一点: url后加时间戳,以防止缓存导致的Ajax失效。视应用场景而定。

同时,在Java后台,需要对接收字串按先前的utf-8来解码恢复:

String featureWord = java.net.URLDecoder.decode(featureWord,"utf-8");

以上是jsp乱码前后台乱码问题的一个检查处理的办法和思路,供参考。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值