多语言展示
当前在线:245今日阅读:167今日分享:16

数据分析软件中模板名有中文找不到模板问题

当预览某张报表(报表模板名称命名为中文)时,在浏览器中直接输入url访问该报表时可能会出现报错,但是从设计器中直接点击分页预览等,却不会出现问题,下面就通过数据分析软件FineReport来简单介绍一下。
工具/原料
1

数据分析软件FineReport7.1.1

2

大小:148.2M 适用平台:windows/linux

方法/步骤
2

问题原因因为每个浏览器的编码是不一样的,所以要通过设置服务器端的url编码,来实现服务器的编码和浏览器的编码一致。为什么这样的中文模板,在设计器中点击分页预览等,却不会出现如上的问题。原因是设计器中的分页预览那边是FR的设计器封装的代码中通过cjkEncode方式解析处理了中文,你会看到设计器中访问的中文命名的模板(参数.cpt)变为[4f20][53c2].cpt,即已经处理其中的中文名称,正常预览模板的效果,如下:

3

解决方案直接在浏览器中输入修改web服务器下面的server.xml配置文件,在Connector属性里面添加:URIEncoding='GB2312'或是URIEncoding='utf-8',其中GB2312对应IE和火狐浏览器,utf-8对应谷歌浏览器,设置完就可以直接通过URL输入访问中文名的模板和传递中文参数。下面以tomcat为例,可以通过修改conf下的server.xml文件实现URL中的中文传参,在server.xml下找到如下代码:Connector port='8080' maxThreads='150' minSpareThreads='25' maxSpareThreads='75'中加入URIEncoding='GB2312',成功tomcat服务器,通过url访问中文模板就可以成功访问到了。其它的服务器的解决方案类似,只要在对应的地方加上url编码。

4

集成到项目中使用FR.cjkEncode('中文名称')方式进行转换就可以解决。注:用户集成到自己的系统后,都是讲报表嵌入在系统页面中的,而不是直接在浏览器栏输入,以上情况只发生在未集成测试之时。

推荐信息