encodeURI 方法
将文本字符串编码为一个有效的统一资源标识符 (URI)。
encodeURI(URIString)
必选的 URIString 参数代表一个已编码的 URI。
说明
encodeURI 方法返回一个编码的 URI。如果您将编码结果传递给 decodeURI,那么将返回初始的字符串。encodeURI 方法不会对下列字符进行编码:":"、"/"、";" 和 "?"。请使用 encodeURIComponent 方法对这些字符进行编码。
-------------------------------------------------------------------
encodeURIComponent 方法
将文本字符串编码为一个统一资源标识符 (URI) 的一个有效组件。
encodeURIComponent(encodedURIString)
必选的 encodedURIString 参数代表一个已编码的 URI 组件。
说明
encodeURIComponent 方法返回一个已编码的 URI。如果您将编码结果传递给 decodeURIComponent,那么将返回初始的字符串。因为 encodeURIComponent 方法对所有的字符编码,请注意,如果该字符串代表一个路径,例如 /folder1/folder2/default.html,其中的斜杠也将被编码。这样一来,当该编码结果被作为请求发送到 web 服务器时将是无效的。如果字符串中包含不止一个 URI 组件,请使用 encodeURI 方法进行编码。
-------------------------------------------------------------------
1.客户端提交时使用encodeURI或者encodeurIcompent参数来进行utf-8编码,然后发送给服务器,如果使用post方式的话可以通过request.setCharacterEncoding来设定用来解读参数的编码。如果用get方式的话,使用new String(arg.getBytes("iso-8859-1"),"utf-8")的方式来转码。
$("#form0").attr("action", PATH+"/target/save.action?name="+encodeURIComponent(name)+"&js="+encodeURIComponent(js)
String targetName = request.getParameter("name");
try {
byte[] bs = targetName.getBytes("ISO-8859-1");
targetName = new String(bs,"UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
2.发送ajax请求时,请使用post方式,由于AJAX默认使用utf-8的编码提交参数,因此如果不是文件上传得话,为ajax的Content-Type请求头设置"application/x-www-form-urlencoded;charset="utf-8",以此来通知服务器,客户端发送参数所使用的编码。这样,服务器端可以直接通过String word = request.getParameter("word");来获取经过转码后的参数值,省去了request.setCharacterEncoding。(未验证)
分享到:
相关推荐
Ajax中文乱码问题解决方案
jquery+asp ajax 中文乱码问题解决文档
解决AJAX中文乱码问题,本人亲测,测试系统WIN2008,其他系统请自行测试。包括源码和说明
今天终于解决了AJAX的中文乱码问题,写篇文章来帮助一下有同样问题的朋友们。我的开发环境:XP, eclipse,使用GB18030编码。 当遇到这个问题时,到网上去查了好多文章,提到几种解决方案,如:全站UTF-8编码;请求头...
java认证_Ajax中文乱码问题及解决方法.doc
如果你配置了过滤器,但是中文还会乱码,可以参考下面两种方法解决。
基于jsp后台java解决ajax异步传输中文乱码问题.
解决ajax乱码和页面传值问题,很深入啊
ajax提交时,后台接收的参数出现中文乱码的解决方法,
解决ajax异步提交后台取值中文乱码问题,提供两种解决方法
GBK编码下jQuery_Ajax中文乱码解决方案
struts中文乱码问题解决详细步骤(两种方法)
主要解决在ajax中中文参数传递过程中,服务器接收到中文乱码的问题
NULL 博文链接:https://zmx.iteye.com/blog/643075
ajax中文乱码的各种解决办法总结.docx
AJAX中文问题分为两大类: 1)发送路径中的参数有中文,在服务器段接收参数值是乱码 例如: var url=”a.jsp?name=小李”; xmlHTTP.open (“post”,url,true); 解决办法: 利用javascript的提供的escape()或...
在js中对中文进行编码在java程序中进行解码即可解决中文乱码问题
JQuery AJAX 中文乱码问题解决,需要的朋友可以参考一下