
在servlet中进行编码就可以了。
requestsetCharacterEncode("utf-8");//或者GBK
String name = requestgetParameter("name");
使用Ajax传递中文参数,如果不对参数进行处理的话,传到后台会变成乱码,经测试可以使用如下方法
这里是以jqueryautocomplete插件中获取输入框中的数据传到后台为例:
注意要对中文使用encodeURI编码两次
复制代码
代码如下:
extraParams:
{q:function(){return
encodeURI(encodeURI($('#keyword')val()))}}
这里同样也要解码两次
复制代码
代码如下:
String
key
=
URLDecoderdecode(URLDecoderdecode(q,"UTF-8"),"tuf-8");
字母的话肯定都不会出现乱码的各种编码都兼容is08859-1 关键是要看你c# 那边是用的什么编码,然后java web就用什么编码进行解码,这样就不会乱码了,感觉你这个情况可能是浏览器编码没有设置对的问题,你看一下你的浏览器的编码是什么。
以上就是关于在jsp页面向后台servlet传值时 如图name指为中文时 后台接收到的数据是乱码的 该怎么解决这个乱码问题全部的内容,包括:在jsp页面向后台servlet传值时 如图name指为中文时 后台接收到的数据是乱码的 该怎么解决这个乱码问题、Ajax传递中文参数到后台乱码的有效解决方法、Java Web后台通过request.getParameter( )方法得到的字符串显示为乱码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)