js接收json数据中文乱码问题

js可以接收到后台传过来的json数据,该数据在后台显示没有中文乱码,就是传过来之后页面上显示的就全部是问号,后台用了resp.setContentType("text/... js可以接收到后台传过来的json数据,该数据在后台显示没有中文乱码,就是传过来之后页面上显示的就全部是问号,后台用了
resp.setContentType("text/html;charset=UTF-8");
resp.setCharacterEncoding("UTF-8");
前台的页面pageEncoding="UTF-8"也都设置成了UTF-8,tomcat也配置成了UTF-8,可还是没用,请问各位大神还有没有什么其他的方法? 例如在js页面可以将数据像后台的
byte[] uname_byte=req.getParameter("uname").getBytes("iso-8859-1");
String uname=new String(uname_byte,"utf-8"); 这样类似万能的方法吗???
展开
 我来答
探索者西瓜
2014-01-26 · TA获得超过174个赞
知道小有建树答主
回答量:211
采纳率:0%
帮助的人:172万
展开全部
楼主,既然你返回的是json数据,那么你就应该设置ContentType类型为application/json

即:resp.setContentType("application/json");

对应的中文文本的类型这样设置res.setCharacterEncoding("ISO-8859-1"); 后边的"iso"变为"ISO",希望对你有所帮助!

还是有问题的话,还望继续回复!
追问
您说的我刚才试了下,还是没用,前台接收的中文还是都是问号。况且中文不是应该是UTF-8吗?我前台JSP页面的类型设置的也是UTF-8
SZ夜灬深
2014-01-25
知道答主
回答量:41
采纳率:100%
帮助的人:13.8万
展开全部
你可以在传出来的时候自己加密一下,读取的时候再解开就行了,就不会乱码
追问
请问一下传的时候怎么加密前台又怎么解密呢??学生党不是很会!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2016-08-28
展开全部
在后台使用java.net.URLEncoder.encode方法试一下,如:String uname=java.net.URLEncoder.encode(req.getParameter("uname"),"UTF-8");
前提是req.getParameter("uname")取到的值不为空
更多追问追答
追问
可是我后台传过来的是一个json数据,里面是一个我用list封装的表格,您说的我试了试貌似只能对于字符串转码。
追答
把list里的字符串encode一下呀,没做过实际项目呀
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
594214009
2014-01-25 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:243
采纳率:0%
帮助的人:120万
展开全部
前台和后台的数据格式要一致
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b357d1f
2014-01-25 · TA获得超过1642个赞
知道小有建树答主
回答量:1022
采纳率:0%
帮助的人:772万
展开全部
你看看前台接受的是什么编码的,这两个编码一致的。
更多追问追答
追问
前台后台都是utf-8,都是一样的!!
追答
我说的不是前台,是你请求的那个编码。你把调试工具打开看看network里面有编码的。。看看ajax编码的设置的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式