数据库会以某种编码方式保存与读取数据数据,FineReport解析时默认使用GBK字符集,若数据库端编码与设计器端编码不一致时,就会导致中文及特殊字符的乱码。
java企业报表FineReport在定义数据连接时可以进行编码转换,将数据库编码(数据库中数据表的编码方式)转换成我们想要的编码方式,编码中包含了基本的数据库编码,如:GBK、BIG5、ISO-8859-1、UTF-8、UTF-16、EUC-JP、EUC-KR。
若使用的是Oracle9i或者更低版本的,这些版本安装的时候,默认的数据库字符集是US7ASCII码,此时直接在我们的设计器里,连接数据库后会出现乱码。那我们怎么来查看数据库编码及如何设置这个编码问题呢?
前期准备工作(包括相关工具或所使用的原料等)java企业报表FineReport7.1.1大小:148.2M 适用平台:windows/linux 详细的操作方法或具体步骤
定义数据库连接时将数据库编码由ISO转为GBK,乱码问题便可解决。如下:

查看Oracle9i字符集信息
若您不确定,您数据库的字符集编码是什么,可通过如下方式查询。Oracle数据库主要包括两种字符集编码:服务器编码和客户端编码。
Oracle9i客户端编码
查看方法:打开数据库所在服务器的注册表(在运行窗口中输入regedit打开)HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->HOME0->NLS_LANG,查看一下数据库客户端编码是什么。
例如,有的机器上是这样的:

查看服务器端字符集编码
查看方法:在SQL中,查看服务器端的编码,使用SELECT * FROM V$NLS_PARAMETERS WHERE parameter LIKE '%CHARACTERSET';
PL/SQL上是这样的,如下:

- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
