码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2016-01-12 10:07:05      阅读:329      评论:0      收藏:0      [点我收藏+]

标签:

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,乱码问题便可解决。如下:

技术分享

2.3 查看Oracle9i字符集信息

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

· Oracle9i客户端编码

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

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

技术分享

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

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

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

技术分享

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

标签:

原文地址:http://www.cnblogs.com/laoA188/p/5123351.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!