JS传值中文乱码解决方案

一、相关知识

1,Java相关类:

(1)java.net.URLDecoder类

  HTML格式解码的实用工具类,有一个静态方法:public static  String  decode(String   变量名,String   编码格式);给变量指定解码。

(2)java.net.URLEncoder类

  HTML格式编码的实用工具类,有一个静态方法:public static  String  encode(String   变量名,String   编码格式);给变量指定编码。

2,JavaScript的编码函数:

  encodeURI(String  URIstring):把字符串作为 URI 进行编码。

二、解决JS传值中文乱码

1,问题:

  js在url中传值,前台和后台编码不一致,导致中文乱码;

2,解决方案:

(1)方案一:

前台:js代码使用encodeURI()函数:url = encodeURI(url);注意:这里是整个URL地址,也可以是具体乱码变量。

后台:java代码String linename = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");

(2)方案二:

前台:jsp代码对url使用两次encodeURI()函数:url=encodeURI(encodeURI(url));//用了2次encodeURI

后台:java代码使用java.net.URLDecoder.decode(String  变量,String  编码);对指定变量解码

三、示例

前台:

var yhdh = encodeURI(yhdh);
top.Dialog.open({
URL : "user.do?ywtype=loadXq&type=update&user.yhdh=" +encodeURI(yhdh), //两次使用encodeURI()函数(这是js函数)

后台:

try {
String searchtext =java.net.URLDecoder.decode(userForm.getUser().getYhdh(),"UTF-8"); //进行解码,会抛异常,直接捕获即可。
userBean.setYhdh(searchtext);
} catch (UnsupportedEncodingException e) {
  e.printStackTrace();
}

JS传值中文乱码解决方案的更多相关文章

  1. Springmvc中@RequestParam传值中文乱码解决方案

    首先jsp表单里面有一些参数要传到controller中,通过以下方法接收: @RequestMapping(value="/orderPaper") public ModelAn ...

  2. Springmvc中@RequestParam传值中文乱码解决方案(转)

    @RequestMapping(value={"/list"},method=RequestMethod.GET) @ResponseBody public DeviceList ...

  3. js url传值中文乱码完美解决(JAVA)

    js url传值中文乱码完美解决(JAVA) 首先在你的jsp页面这样更改: var url="你要传入的Action的位置&ipid="+ipid+"& ...

  4. jquery的ajax()函数传值中文乱码解决方法介绍

    jquery的ajax()函数传值中文乱码解决方法介绍,需要的朋友可以参考下 代码如下: $.ajax({ dataType : ‘json', type : ‘POST', url : ‘http: ...

  5. ajax()函数传值中文乱码解决方法介绍

    jquery的ajax()函数传值中文乱码解决方法介绍,需要的朋友可以参考下 复制代码 代码如下: $.ajax({ dataType : ‘json',type : ‘POST',url : ‘ht ...

  6. aspx页面,中文乱码解决方案

    由于文件编码方式编码方式不统一出现样式中文乱码解决方案: 今天碰到的问题:页面字体样式设置的'微软雅黑',可页面没引用.我调试看到样式出现中文乱码了 这种问题,就需要转换文件的编码方式,如下两步即可解 ...

  7. JSP中pageEncoding和charset区别,中文乱码解决方案(转载)

    转载自:JSP中pageEncoding和charset区别,中文乱码解决方案 JSP指令标签中<%@ page contentType="text/html;charset=GB23 ...

  8. boost::xml——基本操作以及中文乱码解决方案 (续)

    本博文主要想说明以下两点: 1.对于上一篇的<boost::xml——基本操作以及中文乱码解决方案>解释,这篇博文基本解决了正确输入输出中英文问题,但是好像还没有解决修改中文出现乱码的问题 ...

  9. 基于Windows环境下cmd/编译器无法输入中文,显示中文乱码解决方案

    基于Windows环境下cmd/编译器无法输入中文,显示中文乱码解决方案 两个月前做C++课设的时候,电脑编译器编译结果出现了中文乱码,寻求了百度和大神们,都没有解决这个问题,百度上一堆解释是对编译器 ...

随机推荐

  1. node-express根据请求,判断PC和移动端

    function getMachine(req) { var deviceAgent = req.headers["user-agent"].toLowerCase(); var ...

  2. svn ignore 的用法

    一个很简单的需求,我想在add一个文件时忽略里面某种格式的文件,怎么弄? 选中文件夹,然后tortoiseSvn->setting-> global ignore pattern:是客户端 ...

  3. come on! linux install JDK9.0.1

    哈哈,JDK9已经出来了 我们把它安装到Linux上吧! 一下载JDK9 http://www.oracle.com/technetwork/java/javase/downloads/index.h ...

  4. vue中定时器的使用方式

    就这么搞定 no no no  离开页面的时候还必须清楚定时器

  5. vue中使用导出表格功能

    1.下载依赖 npm install -S file-saver xlsx npm install -D script-loader 2.在src下创建vendor文件夹,并在文件夹中放两个文件 Bl ...

  6. InstallShield2015创建安装包

    1.新建  InstallScript MSI Project工程 a)输入项目名称Project Name:  XBS(例如) b)输入创建目录Location:   C:\(例如) c)如果勾选“ ...

  7. HashMap(JDK1.8)

      四个构造函数: 构造方法只是赋值属性初始值但是不会真正初始化数组表空间,在第一次添加元素时形成数组表空间.这个和以往的jDK1.7之前的不同,1.7之前的都是在构造里初始化了table数组空间. ...

  8. html5随机背景颜色

    <script>var colors=['red','blue','green','orange','yellow'];    function bcolor(){        var ...

  9. Java基础语法(一 )

    一.关键字 关键字概述 被Java语言赋予特定含义的单词 关键字特点 组成关键字的字母全部小写 关键字注意事项 goto和const作为保留字存在,目前并不使用 关键字单词 用于定义数据类型的关键字 ...

  10. GCD(Swift)

    1.取消过去的接口 说起 GCD, 大家肯定回想起类似 dispatch_async 这样的语法. GCD 的这个语法模式无论是和 Objc 还是 Swift 的整体风格都不太打掉. 所以 Swift ...