帆软 URL中文编码导致报表查询不到想要结果

来源:互联网 发布:迅龙数据恢复怎么样 编辑:程序博客网 时间:2024/06/01 10:42

一、问题描述及出处

在学习中,帆软嵌入部署到事例网站中,传递访问的url总总会有中文参数,不用帆软自带cjkEncode函数总是导致结果不正确。下面根据使用中遇到问题,提出解决方案。

二、问题及解决

 1.帆软中编码函数:
//cjkEncode方法的实现代码,放在网页head中或者用户自己的js文件中
function cjkEncode(text) {   
    if (text == null) {
             return "";
    }       
    var newText = "";       
    for (var i = 0; i < text.length; i++) {       
          var code = text.charCodeAt (i);        
          if (code >= 128 || code == 91 || code == 93) {  //91 is "[", 93 is "]".       
              newText += "[" + code.toString(16) + "]";       
          } else {
              newText += text.charAt(i);       
          }
     }
        return newText;       
}  
2.使用
(1)url =
url.replace("teamname=","teamname="+cjkEncode("<%=session.getAttribute("teamName")%>"+"&flag=1"));
(2)给iframe的src中文进行编码
window.onload = function urlCjkEncode(){
     //debugger;
     var url = "http://10.8.0.29:8080/WebReport/ReportServer?reportlet=PEIMP_CURRFAULTNUMBER.cpt";
     if("${worksection}"!="null"&&"${worksection}"!=""){
          url += "&worksection="+ cjkEncode("${worksection}")
     }
     $("#layout_center_iframe1").attr("src",url);
    }; 

 

原创粉丝点击