关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法

最近项目用到了backbone 做前后端的分离方案,遇见了中文乱码问题,解决方案总结如下:

假设需要存一条课程记录到后台

model定义如下:

var AddCourse= Backbone.Model.extend({
url:path+"/course/add",
parse : function(response){
return response.data;
}
});

encodeURIComponent 函数 将中文的内容进行编码

$('#addCourseBtn' ).click(function(){
var courseName = encodeURIComponent($('#myCourseName').val().trim(), 'utf8');
var description = encodeURIComponent( $('#description').val().trim(),'utf8' );
var privilege = encodeURIComponent($('#privilege').val().trim(), 'utf8');
var userId=$.cookie( 'userId');
var course = new AddCourse();
//传数据
course.fetch({data : $.param({ courseName : courseName,description : description,privilege : privilege,userId : userId})});
});

api定义,URLDecoder.decode函数进行解码

@Controller
@RequestMapping("/course")
public class CourseController {
@Resource
private CourseService courseService;
@RequestMapping("/add")
//添加代码:编码修改
@ResponseBody
public Result add(String courseName,String description,String privilege,int userId){
String deCourseName;
String deDescription;
String dePrivilege;
Result result =new Result();
try {
deCourseName = URLDecoder.decode(courseName, "UTF-8");
deDescription = URLDecoder.decode(description, "UTF-8");
dePrivilege = URLDecoder.decode(privilege, "UTF-8");
result=courseService.addCourse(deCourseName, deDescription, dePrivilege, userId);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}

以上所述是小编给大家介绍的关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 常用数据库的驱动程序及JDBC URL分享

    常用数据库的驱动程序及 JDBC URL: Oracle 数据库 : 驱动程序包名: ojdbc14.jar 驱动类的名字: oracle.jdbc.driver.OracleDriver JDBC URL : jdbc:oracle:thin:@ dbip:port:databasename 说明:驱动程序包名有可能会变 JDBC URL 中黑色字体部分必须原封不动的保留,为该驱动识别的 URL 格式.红色字体部分需要根据数据库的安装情况填写.其中各个部分含义如下: dbip – 为数据库服务

  • 详解数据库连接的URL的写法及总结

    详解数据库连接的URL的写法及总结 JDBC的URL=协议名+子协议名+数据源名. a .协议名总是"jdbc". b .子协议名由JDBC驱动程序的编写者决定. c .数据源名也可能包含用户与口令等信息:这些信息也可单独提供. 几种常见的数据库连接 1 -oracle- 驱动:Oracle.jdbc.driver.OracleDriver URL:jdbc:oracle:thin:@machine_name:port:dbname 注:machine_name:数据库所在的机器的名称

  • jdbc链接远程数据库进行修改url操作

    链接远程数据库的时候,要把获得链接的url进行修改,本文分享了具体代码,供大家参考,具体内容如下 package com.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * jdbc链接远程数据库(公司的176库)操作 * * @Author

  • 关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法

    最近项目用到了backbone 做前后端的分离方案,遇见了中文乱码问题,解决方案总结如下: 假设需要存一条课程记录到后台 model定义如下: var AddCourse= Backbone.Model.extend({ url:path+"/course/add", parse : function(response){ return response.data; } }); encodeURIComponent 函数 将中文的内容进行编码 $('#addCourseBtn' ).c

  • js文件中直接alert()中文出来的是乱码的解决方法

    解决方法如下: 在这句语句上面加上echo "<meta http-equiv='Content-Type'' content='text/html; charset=utf-8'>"; 以上就是小编为大家带来的js文件中直接alert()中文出来的是乱码的解决方法全部内容了,希望大家多多支持我们~

  • JS中页面与页面之间超链接跳转中文乱码问题的解决办法

    在原页面一张图片上添加了一个链接,链接中有中文,于是出现下面的情况: 解决办法是在tomcat的server.xml文件的中加入URIEncoding="utf-8",如下: <Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443&q

  • 在Ajax中使用get和post所遇到的问题及解决办法

    使用get遇到的问题: 1.问题一. 缓存:当每次访问的url相同,客户端直接读取本地缓存里面的内容,即使后台数据变化前台也不会有变化: 解决方法:在?后面链接一个num=[随机数Math.random()]或者num=[时间戳new Date().getTime()],'1.php?username="May"&'+num(这里没有变量名,避免和后台参数冲突) 2.问题二. 乱码,当传递中文或者特殊字符的时候,前台显示出现乱码 解决办法:使用编码encodeURI('蜗牛')

  • Ajax传输中文乱码问题的解决办法

    AJAX简介 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下. ajax传输中文乱码问题描述: 我是在一个jsp页面有一个保存按钮,点击时会触发saveForm()的js函数,在saveForm()函数里经过校验后,会通过ajax发送数据请求,这样就不用通过提交表单来传输数据了,aj

  • Android Retrofit 中文乱码问题的解决办法

    Android Retrofit 中文乱码问题的解决办法 使用retrofit和rxjava,提交数据时需注意,当数据中有中文时,传到后台,可能会是乱码,需处理: 解决: 1.GET请求改成POST; 2.参数Field改成Query 3.加上@FormUrlEncoded 如下: @FormUrlEncoded @POST("/test/test") Call<Response> register(@Field("name") String name)

  • Android Fragment中使用SurfaceView切换时闪一下黑屏的解决办法

    重构了下之前自己的一个新闻客户端,全部使用了Fragment来进行页面切换,只有一个入口Activity作为程序的启动Activity,其中有一个界面需要调用摄像头识别二维码,于是就会用到SurfaceView进行预览,那么问题来了,当切换到对应的Fragment时,屏幕会黑一下,黑了1秒左右就显示出正常的界面,而且这种现象只有第一次进入该Fragment才会出现,之后进入都不会出现,解决方法是无意在github上看到了,试了一下,可以行的通,下面贴出解决方法. 方法一.在Activity的on

  • Mysql5.5安装配置方法及中文乱码的快速解决方法

    1.启动服务 windows下DOS命令窗口输入指令: 查看服务是否启动:net help services 启动mysql服务:net start mysql 停止mysql服务:net stop mysql linux下在bash下,输入指令: 查看服务状态:service mysqld status 启动mysql服务:service mysqld start 停止mysql服务:service mysqld stop 2.登陆 mysql -u[这里输入用户名] -p[这里输密码] 3.

  • 用ajax传递json到前台中文出现问号乱码问题的解决办法

    我使用的Springmvc,在controller层传输一个json到前台,后台显示没问题,中文正常显示而到了前台 中文就变成了问号. 后来发现,因为在controller中返回json用了@ResponseBody,而spring源码中@ResponseBody 的实现类发现其默认的编码是 iso-8859-1,而项目用的编码为utf-8,所以传中文会出现乱码. 这里我使用了注解来解决: @RequestMapping(value="/echarts.do", produces =

  • iOS9与XCode7中不能使用http连接的快速解决办法

    在Xcode7.0及以上版本中编译iOS APP时,默认会使用iOS9的一项新特性,使得所有http连接被禁用,项目里使用的API没有https支持,就悲剧了.差了官方文档,有这么一段话 App Transport Security App Transport Security (ATS) enforces best practices in the secure connections between an app and its back end. ATS prevents accident

随机推荐