jsp传数据到后台乱码的处理方法
2015-11-24 10:12
369 查看
数据传递之前,先对中文进行编码,如下红色字体:
function saveCommentTemplate() { $.ajax({ cache : false, type:'get', dataType:'json', url:'comment/insert', contentType:'application/json;charset=UTF-8', data:{name:encodeURI($("#name").val()), content:encodeURI($("#content").val())}, success:function(data){ alert("ok") }, error: function() { alert("error") } }); $("#bottom").hide(); }
等数据传过来时,在对数据进行解码:
@RequestMapping(value = "insert") @ResponseBody public void insert(@RequestParam("name") String name,@RequestParam("content")String content) throws UnsupportedEncodingException { name=URLDecoder.decode(name,"UTF-8"); content=URLDecoder.decode(content,"UTF-8"); commentTemplateService.saveCommentTemplate(name,content); }
总结四种方法
1、采用decode()方法 页面:Url: '<%=path%>/sfyh/infodata.jsp?type='+encodeURI(ss)
后台
String result = java.net.URLDecoder.decode(type,"UTF-8")
2、采用设置字符集的方式
request.setCharacterEncoding("utf-8")
3、在页面上定义charset的字符集(最有效 最简单)
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4、采用转码的方式
页面‘
Url: '<%=path%>/sfyh/infodata.jsp?type='+encodeURIComponent(ss)
后台
result= new String(request.getParameter("type").getBytes("ISO8859-1"),"UTF-8")
相关文章推荐
- jsp回车键实现登录功能
- 九个Console命令,让js调试更简单
- JS正则表达式验证数字
- 我写的JS脚本之传送门
- js中截取字符串
- js中通过函数名字符串调用函数
- 带领大家学习javascript基础篇(一)之基本概念
- 基于JavaScript实现Json数据根据某个字段进行排序
- 解决服务器不支持json
- JavaScript中的setInterval用法
- JavaScript权威指南_171_第17章_事件处理_17.5-鼠标事件
- 实现SELECT的全选,反选,AB选的JAVASCRIPT代码
- JavaScript权威指南_170_第17章_事件处理_17.4-文档加载事件
- js生成随机数的过程解析
- JavaScript常用函数集锦
- [Web前端]梳理-JavaScript.5.函数,6.作用域
- [Javascript] Intro to Recursion
- 用JavaScript实现动态省市县三级联动
- 用JavaScript实现动态省市县三级联动
- JS函数各种跨域方法