欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

帆软报表FineReport数据库连接编码转换

程序员文章站 2022-05-31 18:06:21
...

1. 问题描述

数据库会以某种编码方式保存与读取数据,FineReport解析时默认使用GBK字符集,若数据库端编码与设计器端编码不一致时,就会导致中文及特殊字符的乱码。

FineReport在定义数据连接时可以进行编码转换,将数据库编码(数据库中数据表的编码方式)转换成我们想要的编码方式,编码中包含了基本的数据库编码,如:GBK、BIG5、ISO-8859-1、UTF-8、UTF-16、EUC-JP、EUC-KR。

2. 编码转换示例

2.1 问题描述

若使用的是Oracle9i或者更低版本的,这些版本安装的时候,默认的数据库字符集是US7ASCII码,此时直接在我们的设计器里,连接数据库后会出现乱码。那我们怎么来查看数据库编码及如何设置这个编码问题呢?

2.2 解决方案

定义数据库连接时将数据库编码由ISO转为GBK,乱码问题便可解决。如下:

帆软报表FineReport数据库连接编码转换
            
    
    博客分类: 技术,解决方案 数据库连接编码转换FineReport 

2.3 查看Oracle9i字符集信息

若您不确定,您数据库的字符集编码是什么,可通过如下方式查询。Oracle数据库主要包括两种字符集编码:服务器编码和客户端编码。

· Oracle9i客户端编码

查看方法:打开数据库所在服务器的注册表(在运行窗口中输入regedit打开)HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->HOME0->NLS_LANG,查看一下数据库客户端编码是什么。

例如,有的机器上是这样的:

帆软报表FineReport数据库连接编码转换
            
    
    博客分类: 技术,解决方案 数据库连接编码转换FineReport 

· 查看服务器端字符集编码

查看方法:在SQL中,查看服务器端的编码,使用SELECT * FROM V$NLS_PARAMETERS WHERE parameter LIKE '%CHARACTERSET';

PL/SQL上是这样的,如下:

帆软报表FineReport数据库连接编码转换
            
    
    博客分类: 技术,解决方案 数据库连接编码转换FineReport