excel报表工具FineReport之编码转换

2025-10-27 12:01:07

1、4.1 对URL进行cjkEncode

<html>  

<head>  

<meta http-equiv="Content-Type" content="text/html; charset=GBK">  

<script type="text/javascript"  src="ReportServer?op=emb&resource=finereport.js"></script>  

<Script Language="JavaScript">               

function frOpen() {     

    window.location=FR.cjkEncode("http://localhost:8075/WebReport/ReportServer?reportlet=doc/Primary/Parameter/Parameter.cpt&地区=华东");         

}         

</Script>  

</head>  

<body>  

<input type="button" value="字符转换1" onclick="frOpen()">  

</body>  

</html>  

2、4.2 对Form表单进行cjkEncode

如果是以Form表单把参数提交到报表里面,也同样需要在提交前调用cjkEncode进行编码转换,如下例子

<html>  

<head>  

<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>  

<script type="text/javascript" src="/WebReport/ReportServer?op=emb&resource=finereport.js"></script>  

<script>  

function autoSubmit() {  

    var Region1 = document.getElementById('Region');     //获取到参数Region所在文本框  

    Region1.value = FR.cjkEncode(Region.value);         //对值参数值进行编码转化  

    Region1.name = FR.cjkEncode("地区");               //对参数控件名编码转换,如果参数名字为英文,则不需要此操作  

    document.FRform.submit();  

}  

</script>  

<body>  

<form name=FRform method=post action="/WebReport/ReportServer?reportlet=doc/Primary/Parameter/Parameter.cpt">  

<input type="text" id="Region" name="地区" value="华东">  

<input type="button" name="show" value= "查看" onclick="autoSubmit()"/>  

</body>  

</html>  

3、4.3 特殊符号处理

如果在需要进行cjkEncode的URI的参数中包含特殊字符,比如%,#,$,=,&,/,?,+,@等字符时,需要在cjkEncode之后,再次调用javascript的encodeURIComponent对这些特殊字符进行编码。如参数值是”%华%“这样的字符,就需要写成encodeURIComponent(FR.cjkEncode("%华%")),一定要先进行cjkEncode,然后再进行encodeURIComponent,完整代码如下:

<html>  

<head>  

<meta http-equiv="Content-Type" content="text/html; charset=GBK">  

<script type="text/javascript"  src="ReportServer?op=emb&resource=finereport.js"></script>  

<Script Language="JavaScript">               

function frOpen() {     

window.location=FR.cjkEncode("http://localhost:8075/WebReport/ReportServer?reportlet=doc/Primary/Parameter/Parameter.cpt&地区=") +encodeURIComponent(FR.cjkEncode("%华%"));        

    }         

</Script>  

</head>  

<body>  

<input type="button" value="字符转换1" onclick="frOpen()">  

</body>  

</html>  

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢