- 36
- 0
- 约3.29千字
- 约 9页
- 2016-11-28 发布于北京
- 举报
2015乱码问题
乱码问题
一.页面显示乱码
乱码问题处理流程图:
1.页面汉字显示乱码
现象:数据库中存储的内容不是乱码,但是用报表查询出来后,页面中汉字显示为乱码。
原因:数据库取数时没有转码
解决方法:在WEB-INF/reportConfig.xml文件中的dataSource节点,设置转码。
dataSource表示用户在WEB应用中要用到的数据源配置,其格式如下:
数据源的JNDI名称,数据库类型[,取数时是否需要转换编码,数据库字符集编码,显示报表时的字符集编码][,SQL是否需要转码];[重复]……jspCharset节点设置、jsp页面设置%@ page contentType=text/html;charset=UTF-8 %和request.setCharacterEncoding( UTF-8 )这几个charset最好设置成一样的编码。
2.统计图乱码
现象:统计图的报表在网页上发布时,统计图里的汉字会变成小方框是服务器端操作系统的中文安装包没有装全,导致报表里用到的字体在服务器端的操作系统里找不到,因此成了小方块。办法一、拷贝中文字体:
1)、 在启动java的时候加入如下参数,参数值为jdk的安装路径 -Dsun.java2d.fontpath=……/j2se/jre/lib/fonts
2)、 操作系统安装完整的中文安装包,然后把操作系统的中文字体文件拷贝到……/j2se/jre/lib/fonts目录下
3)、 打开……/j2se/jre/lib目录下的perties文件,把新添加的字体文件的对照信息加进该文件即可
4)、 重起webserver
办法二、安装中文包:
1)、 操作系统安装完整的中文安装包
2)、 卸载jdk,重新安装,让jdk读取新的中文字体文件
1.导出pdf乱码
应用部署在windows系统上导出pdf正常,部署在AIX系统上导出pdf出现乱码,原因是中文字符集没有安装全的缘故。
解决方法1:在设计器中将报表字体改为宋体。
解决方法2:同统计图乱码问题解决方法
2.导出excel乱码
如果客户导出excel乱码,很可能是客户用的jar比较旧,给客户更新report4.jar和poi2.jar包。
3.导出word乱码
如果客户导出excel乱码,很可能是客户用的jar比较旧,给客户更新report4.jar和itext2_rq.jar包。
总结:如果导出pdf乱码,查看一下服务器的中文字体是否安装全。报表对excel和word的支持的比较好,一般不会出现乱码,如何出现乱码,更换新包。
三.参数乱码
参数乱码处理流程图:
传参数的时候,经常会碰到乱码问题,下面对常见的几种做一下总结:
参数传到接收页面是否乱码,可以先让客户在接收参数的 jsp页面将接收到的参数打印出来,确认是否已经是乱码了。如果已经乱码了,有以下一些方法来解决。
1在页面接受参数的代码前加上转码语句。request.setCharacterEncoding( “GBK” );
2客户页面的编码是utf-8?建议客户将接收到的参数进行转码String name = new String(request.getParameter(“name”).getBytes(“gb2312”),”utf-8”);
客户页面的编码是GBKString arg1 = new String(request.getParameter(“arg1”).getBytes(“GB2312”),”GBK”);
3http请求中,带参数修改应用服务器的配置文件。如tomcat的server.xml文件!– Define a non-SSL HTTP/1.1 Connector on port 8080 –??? Connector port=”8080″?????????????? maxThreads=”150″ minSpareThreads=”25″ maxSpareThreads=”75″?????????????? enableLookups=”false” redirectPort=”8443″ acceptCount=”100″?????????????? connectionTimeout=”20000″ disableUploadTimeout=”true” URIEncoding=”GBK”/加上最后的uriEncoding就OK了
4做负载均衡的时候,参数乱码修改应用服务器的配置文件。如tomcat的server.xml文件?!– Define an AJP 1.3 Connector on port 8009 –?Connector port=”8010″??enableLook
原创力文档

文档评论(0)