jsp-js传输中文乱码的问题求解

问题描述

js传输中文乱码的问题求解

js:

 var namepass = document.getElementById("btn").name; 

//var namepass =escape(namepasss)  此处用escape的话,后台页面接收为null,是为什么?

  f1.action = "<%=request.getContextPath()%>/noticeController.do?cmd=jump&stamp=1&name="+namepass;
            f1.submit();
            }

Java

  String name=request.getParameter("name");

此处NAME就变成乱码了。。如果在js页面中用escape的话此处Name的值就变成了null。。我该怎么让中文不乱码的传送过来?

解决方案

前台:

 namepass = encodeURI(encodeURI(namepass));
 f1.action = "<%=request.getContextPath()%>/noticeController.do?cmd=jump&stamp=1&name="+namepass;
            f1.submit();
            }

后台:
需要引入import java.net.URLDecoder;

    String name = request.getParameter("name");
    name = URLDecoder.decode(name, "UTF-8");

解决方案二:

前端传输时,可以将中文两次encode(JavaScript方法),后台接收时
java.net.URLDecoder.decode(request.getParameter("name"), "UTF-8")

解决方案三:

javascript方法是 encodeURI,两次 encodeURI( encodeURI(xxx));
selvlet中接收时
java.net.URLDecoder.decode(request.getParameter("name"), "UTF-8")

解决方案四:

URLDecoder.decode(name, "UTF-8");

时间: 2024-11-03 10:26:07

jsp-js传输中文乱码的问题求解的相关文章

编码-jsp网页中的js 显示中文乱码,在MyEclipse 里面显示的正常

问题描述 jsp网页中的js 显示中文乱码,在MyEclipse 里面显示的正常 index.jsp 页面 调用 外面的 .js 文件 中文显示乱码,看了好多都说是 网页编码 不一致造成的 <script type="text/javascript" src="webstyle/js/script.js" charset="GB2312"></script> 但是 我在Index.jsp页面调用的时候 加上 charset

Ajax传输中文乱码问题的解决办法_AJAX相关

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

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

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

技巧:JSP中处理中文乱码的详细讲解

js|技巧|中文|中文乱码 在jsp中,中文乱码常会让人心乱如麻. 对于中文处理的常见对策,在网上经常可见的主要是下面2种: <%@ page contentType="text/html;charset=gb2312" %> 或者: <% String Hi="你好"; byte[] tmpbyte=Hi.getBytes("ISO8859_1"); Hi=new String(tmpbyte); out.print(Hi);

关于Ajax请求中传输中文乱码问题的解决方案_AJAX相关

今天遇到一个问题,有关ajax 请求中传输中文,遇到乱码的问题. 如下代码: function UpdateFolderInfoByCustId(folderId, folderName, custId) { $.ajax({ type: "Post", contentType: "application/x-www-form-urlencoded; charset=utf-8", url: "http://localhost/CRM/Ashx/HandK

jsp、serlvet中文乱码解决

一.基本jsp.serlvet中文乱码解决 (这个之前有完整解决笔记,等待有空贴上) 二.(2011年10月)采用apache的commons-fileupload作为上传组件,提交表单域包含字段及文件时出现乱码解决: 1.同上"一."用过滤器对所有request请求用utf-8编码 2.解决表单域字段值乱码:  代码如下 复制代码     if(item.isFormField()){          // 如果item是正常的表单域         String name = i

如何解决页面之间传输中文乱码的问题

如何解决页面之间传输中文乱码的问题hbzxf(阿好)http://www.cnblogs.com/hbzxf 有的时候我们需要在页面之间传输中文,但是.NET模认在Webconfig中为我们建立的编码格式为utf-8,于是在传输中文的时候变成了乱码,相应的接受也会是乱码信息,如何解决这个问题,我们可以用两种方法. 更改Webconfig中的编码方式,如下:1.在你的web.config中把编码 <globalization requestEncoding="utf-8" resp

关于Ajax请求中传输中文乱码问题的解决方案

今天遇到一个问题,有关ajax 请求中传输中文,遇到乱码的问题. 如下代码: function UpdateFolderInfoByCustId(folderId, folderName, custId) { $.ajax({ type: "Post", contentType: "application/x-www-form-urlencoded; charset=utf-8", url: "http://localhost/CRM/Ashx/HandK

对JSP页面传值中文乱码的简单解决方法

源代码,a.jsp往b.jsp传值: a.jsp页面内容: <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%><form action="b.jsp"> name:<input type=text name=name> <input type=submit></form> b.js