请选择 进入手机版 | 继续访问电脑版

Lazarus中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

版权申明
查看: 3593|回复: 1

XE7 FireDAC FireBird Blob UTF8

[复制链接]

该用户从未签到

发表于 2014-9-19 15:03:16 | 显示全部楼层 |阅读模式
DELPHI 从有 DBExpress 以来,一直到 XE6,如果用 DBExpress 连接 FireBird 数据库,而数据库的 CharSet 是 UTF8 的话,其中的 Blob 用 DBMemo 来做用户界面,按照以下方式处理:

FireBird -- SQLConnection -- SQLDataSet -- DataSetProvider -- ClientDataSet -- DataSource -- DBMemo

如果用 UTF8 ,那么中文直接输入到 DBMemo 里面,提交到 DataBase 里面去,下次再打开,DBMemo 里面显示的是乱码。

现在 XE7 带来了 FireDAC,我测试,如果把 DBExpress 的 SQLConnection 和 SQLDataSet 替换为 FireDAC 的元件,这个问题解决了。

对 FireDAC 和 FireBird 的进一步测试,发现:

1. 搜索 UTF8 VarChar 字段,用 like 语句,可以正确搜索;
2. 搜索 UTF8 Blob 字段,用 like 语句,可以正确搜索;


所以,如果做正式产品,之前DELPHI推荐的 DBExpress 应该换成 FireDAC 了。

评分

参与人数 1金钱 +10 收起 理由
bugxiong + 10 Lazarus有你更精彩

查看全部评分

回复

使用道具 举报

该用户从未签到

发表于 2014-9-24 15:19:47 | 显示全部楼层
FireDAC 就是另一个版本的 UniDAC 吧?
回复 支持 反对

使用道具 举报

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1

GMT+8, 2019-6-19 17:09 , Processed in 0.128423 second(s), 22 queries .

Powered by Discuz! F1.0 Build 20160930

© 2001-2019 Comsenz Inc. & Discuz! Fans

快速回复 返回顶部 返回列表