解决在url中传递js变量到java程序中出现乱码问题(转自http://www.blogjava.net/fine)
来源:互联网 发布:共射放大电路实验数据 编辑:程序博客网 时间:2024/05/21 22:54
今天在使用ExtJS向Java后台传递参数时,后台程序获取的中文参数一直为乱码,使用了很多方法,均未解决,万般无奈之际,Baidu到一篇好文章,转载之,希望对自己及朋友们有所帮助!
js 相关代码:
function doFind(default_value){
var q_bureau_name = document.forms[0].q_bureau_name.value;
var defpars = '';
if(default_value != null){
defpars = '&default_value='+default_value;
}
var url = 'customeroperAction.do';
var pars = 'action=getbureaulist&sname=customerTel.TEL_BUREAU&q_bureau_name='+encodeURI(encodeURI(q_bureau_name))+defpars; //encodeURI 两次将文本字符串编码为一个有效的统一资源标识符 (URI)。
var my = new Ajax.Request(url,{method: 'post',parameters: pars,onComplete: show});
}
function show(originalRequest)
{
var BUREAUSPAN = document.getElementById("BUREAUSPAN");
BUREAUSPAN.innerHTML = originalRequest.responseText;
}
java 相关代码:
String q_bureau_name = Util.filter(request.getParameter("q_bureau_name"));
q_bureau_name = java.net.URLDecoder.decode(q_bureau_name, "UTF-8");
//ajax提交数据(post)的格式默认为utf-8,利用javascript的提供的escape()或encodeURI()方法.在服务器端接收的时候要使用java.net.URLDecoder.decode(value,"UTF-8")方法进行解码.
js相关知识:
escape 方法
对 String 对象编码以便它们能在所有计算机上可读,
escape(charString)
必选项 charstring 参数是要编码的任意 String 对象或文字。
说明
escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。
字符值大于 255 的以 %uxxxx 格式存储。
注意 escape 方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURI 和encodeURIComponent 方法。
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 方法进行编码。
- 解决在url中传递js变量到java程序中出现乱码问题(转自http://www.blogjava.net/fine)
- JavaEE应用中MySQL中文乱码完全解决方案----转自:http://www.blogjava.net/bolo
- java中构造方法和方法全面解析(转自www.blogjava.net)
- 解决Java中URL传递中文参数时出现乱码的问题
- ubuntu 中启用Root 账号(转自:http://www.blogjava.net/waterjava/archive/2007/07/18/131085.html)
- JPA注解详解(转自http://www.blogjava.net/sxyx2008/)
- java 中解决url参数传递中文乱码问题
- Java RMI 入门指南 转自 http://www.blogjava.net/zhenyu33154/articles/320245.html
- java 在URL中传递参数乱码问题
- 在Spring中使用Quartz进行任务调度 (转:http://www.blogjava.net/Jay2009/archive/2009/03/25/259176.html)
- 通过JS传递中文解决在Action中乱码问题
- 在ASP.NET程序中存储和调用word文件(转自程序久久http://www.soudie.net/top_55601_cat_9/)
- dtree中url参数中中文参数的传递,出现乱码问题的解决。
- http://www.blogjava.net/
- .net 解决js传递参数时,url汉字乱码问题
- 在url中传递汉字到另外一个页面后,出现中文乱码的问题解决
- one-to-one的效率问题,用one-to-many来替代? (转自http://www.blogjava.net/ramon/)
- 理解Java ClassLoader机制(转自http://www.blogjava.net/pandawang/archive/2007/10/05/64639.html)
- 目标
- 批处理,创建新文件
- JMail发送邮件系统
- RichFaces ICEFACES 简单介绍
- Struts2的Collection和Map支持
- 解决在url中传递js变量到java程序中出现乱码问题(转自http://www.blogjava.net/fine)
- 打开QQ对话
- onmouseover, onmouseout的触发顺序问题
- 怎么成为优秀的软件模型设计者?
- JAVA2核心技术卷I:基础知识(原书第7版) -- 第5章. 继承
- IOC容器的经典解释
- 笑侃人生
- asp可用下列函数截取字符串
- 马云对创业者的经典点评