从浏览器中访问报表链接的时候加中文参数,在报表里接收的是乱码,要怎么解决

从浏览器中访问报表链接的时候加中文参数,在报表里接收的是乱码,要怎么解决

FineReport 小五1 发布于 2019-8-15 17:59
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
圣体叶小凡Lv6高级互助
发布于2019-8-15 21:09

问题原因

因为浏览器编码与服务器编码不一致,导致中文url输入会产生乱码,无法被正常识别。

3.解决方案

通过url给参数赋值一般应用在报表已经集成到项目中,希望点击某个链接将某个值传递给报表;而在浏览器中直接给参数赋值呢,一般是做测试使用的,此时可以将浏览器换成火狐或者谷歌。

集成到项目中,可以使用FR.cjkEncode()方法,如点击某个链接给col赋值为地区,此时可以使用如下方法:


  1. window.location="http://localhost:8075/WebReport/ReportServer?reportlet=doc/Parameter/DynamicCol/DynamicCol.cpt&col="+FR.cjkEncode("中文名称")  



  • 小五1 小五1(提问者) 你说的集成项目是外部环境,还是帆软内的工程,因为我得报表是需要嵌套在别的框架里面,需要直接触发这个链接,而不是从一个报表页面跳到另一个报表页面
    2019-08-16 11:16 
最佳回答
0
白水先生Lv3初级互助
发布于2019-8-16 13:50

你在传递的时候把String,从GBK转成utf-8试试,一般来说就是两端的字符集编码不一致

  • 3关注人数
  • 747浏览人数
  • 最后回答于:2019-8-16 13:50
    请选择关闭问题的原因
    确定 取消
    返回顶部