js提交时,传递中文乱码,有没有好一点的解决方法?

问题描述

js提交时,传递中文乱码,有没有好一点的解决方法?

解决方案

var cn = "中文";var url = "xxx.xx?" + encodeURI(encodeURI(cn);提交url比如Action引入import java.net.URLDecoder;获取String name = request.getParameter("name");name = URLDecoder.decode(name, "UTF-8");这样做基本上很安全了
解决方案二:
实践中,我们都用这些方法,防止js中文参数传递乱码方法一: window.location = encodeURI("..url..?username=" + username);方法二: window.location.href = "..url..?username=" + username;
解决方案三:
客户端enocodeURI,服务器decode就行了!
解决方案四:
encodeURI就行了。

时间: 2025-01-20 13:47:30

js提交时,传递中文乱码,有没有好一点的解决方法?的相关文章

JSP中文乱码常见3个例子及其解决方法_JSP编程

常见3个例子及其解决方法如下 实例一.JSP页面显示时 <html> <head> <title>中文乱码--JSP页面显示时</title> </head> <body> <center> <br/> <h1>木兰辞拟古决绝词柬友</h1> <p>人生若只如初见,何事秋风悲画扇.</p> <p>等闲变却故人心,却道故人心易变.</p> &

js中ajax 传递中文乱码问题解决办法

解决的办法是使用js的encodeURI函数,对传递的参数进行编码.  代码如下 复制代码 var keywords=encodeURI(document.getElementById("suggestfilm").value); 例  代码如下 复制代码 <script type="text/javascript">         //var data=<%=data %>     jQuery(document).ready(funct

jQuery ajax方法传递中文时出现中文乱码的解决方法_jquery

本文实例讲述了jQuery ajax方法传递中文时出现中文乱码的解决方法.分享给大家供大家参考,具体如下: 使用jQuery的ajax方法,在传递中文时出现中文乱码,按照以前的方法,修改了jquery文件中的ajaxSetting也不好使 复制代码 代码如下: sajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded;charse

escape函数解决js中ajax传递中文出现乱码问题_javascript技巧

本文实例讲述了escape函数解决js中ajax传递中文出现乱码问题,分享给大家供大家参考.具体方法如下: 一.问题描述: 本来网页特效中的escape()是将中文按iso-8859-1字符集进行url编码的,那样通过 request.getparameter()是能直接获取到请求参数的,但后来的javascript将escape()换成了unicode字符集编 码,如此一来,在jsp教程和servlet中就没法直接拿到请求参数了,具体原因我也不知道. 二.解决办法: 1.首先对中文字符进行两次

Android编程向服务器发送请求时出现中文乱码问题的解决方法_Android

本文实例讲述了Android编程向服务器发送请求时出现中文乱码问题的解决方法.分享给大家供大家参考,具体如下: 我们在andorid项目中通过get方式向服务器发送请求,其中url参数带有中文,将会产生乱码,乱码产生的原因有两种: 1. 在提交参数时,没有对中文参数进行URL编码 2. Tomcat服务器默认采用的是IOS8859-1编码(不支持中文)得到参数值 解决: 1. 进入android项目,在其中要提交参数的时候,对参数的值进行编码: 复制代码 代码如下: URLEncoder.enc

jquery.ajax的url中传递中文乱码问题的解决方法

 本篇文章主要是对jquery.ajax的url中传递中文乱码问题的解决方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 JQuery   JQuery默认的contentType:application/x-www-form-urlencoded    这才是JQuery正在乱码的原因,在未指定字符集的时候,是使用ISO-8859-1    ISO8859-1,通常叫做Latin-1.Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符.   JQuery的Ajax根本没有考

new-在servlet中获取jsp提交的超链接中文乱码问题

问题描述 在servlet中获取jsp提交的超链接中文乱码问题 用的tomcat7.0 请问在jsp中提交超链接时带有中文参数,为什么在servlet中一直取得都是乱码,我已经改了jsp页面和servlet中的编码方式都是utf-8,同时我也改了tomcat7.0 中的server.xml文件将编码方式设置为utf-8,为什么还是乱码?我也在servlet中用网上的方法 new String(str.getBytes("ISO-8859-1"),"UTF-8")进行

通过地址栏传递中文乱码问题怎么解决?

问题描述 通过地址栏传递中文乱码问题怎么解决? 如果是表单提交的话,可以写个过滤器解决乱码,但是地址栏提交的话要怎么解决? 解决方案 客户端做url编码,服务器端得到rawurl,然后做url解码. 解决方案二: JSP地址栏传递中文字符乱码解决解决URL传递中的中文乱码问题解决get传递中文乱码的问题

jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法_jquery

序列化中文时之所以乱码是因为.serialize()调用了encodeURLComponent方法将数据编码了 解决方法就是进行解码 原因:.serialize()自动调用了encodeURIComponent方法将数据编码了 解决方法:调用decodeURIComponent(XXX,true);将数据解码 例如: var params = jQuery("#formId").serialize(); // http request parameters. params = deco