Delphi7中存储unicode的BUGDelphi7中存储unicode的BUG?
近日,在用delphi7做unicode的程序时发现了这样一个问题,就是使用TADOCommand组件执行sql语句时,如果sql语句中有unicode字符,存储在数据库里会出现乱码,使用TTntADOQuery也是一样(使用参数方式不会出现乱码,这里只讨论纯sql的方式)。但是TADOCommand本身是支持widestring的呀,CommandText属性也是widestring类型的,为什么会出现这个问题呢?我试着改变TADOCommand的几个属性值,发现了一个怪现象,只要把ParamCheck属性置为false就可以正常的存储unicode字符,而置为true时就出现乱码。为什么会出现这种情况?这个属性看起来和unicode本身没有任何关系,究竟是什么原因导致了乱码的发生呢?我通过研究TADOCommand所在的 更多相关文章
|
推荐文章
精彩文章
|