放弃Delphi7拥抱Delphi2010的理由之一

一直以来,D7常驻计算机,对D7有着特殊的感情,启动速度快,组件多,IDE的独特展示,一直是我钟爱D7的理由。

最近作项目时,将单机数据库从ACCESS转移到Sqlite时,为了方便,找了个管理器SQLiteMaestro,

从官方的web中看到这个管理器支持的数据库特别多,

于是就用这个管理器转换数据库,但这时问题来了,原来数据库中好多中文记录转换进SQLITE数据库后竟然乱码了。

一看就知道是编码问题。

在分析了数据库管理器后,解决了问题,但使我对D7的认识又加深了一层(这个管理器是用D7写的)。

D7在处理UTF-8编码时存在一些Bug,utf-8最高支持6个字节,但D7中只处理了3个字节,对于高出的部分根本就没有处理。

(参见的我的上一篇Blog http://www.cnblogs.com/fishseewater/archive/2010/12/26/1917144.html

查看D2010的相关处理代码(也就是uft8Encode函数)发现其是调用Windows系统的编码转换函数进行的。

由此可见,在D的升级过程中,borland(当然,现在不是这个东家了)也是不断的在对实现方式进行调整~。

虽然对于新版本不能快速跟风,但新版本相对于旧版的肯定是会有更多的稳定与已知Bug的修复~:)