北畑と申します。
Delphi XE2 + IBX + Firebird 2.1 でキャラクタセット UTF8 の
テーブルをオープンすると varchar のフィールド長が4倍になって
しまうようです。
DEFAULT CHARACTER SET UTF8 のデータベースを作成し、
テーブル Test を作成します。
create table Test(
xxx integer not null,
yyy varchar(20),
primary key (xxx)
);
IBDatabase, IBTransaction, IBDataSet をフォームに貼り付け、
必要なプロパティを設定後、IBDataSet をオープンすると、
yyy フィールドの Size が 80 となります。
(IBDataSet.FieldByName('yyy').Size が80となる)
キャラクタセットを UNICODE_FSS にするとこの現象は
発生しないようです。
TDBEdit に21文字以上入力できてしまって、気づきました。
この現象について、回避策等、何かご存知の方、いらっしゃいませんか?
XE5 とかだと直っているのでしょうか?
発生する環境
Windows 7 ultimate 32bit
Delphi XE2 update 4 (バージョン 16.0.4504.48759)
IBX 16.16
Firebird 2.1.5.18496
--
Hiroaki Kitahata <
kita...@wingcomputer.com>
MLホームページ:
http://www.freeml.com/delphi-users
----------------------------------------------------------------------
使い方はいろいろ♪一部のメンバーだけにMLメールを送ろう!
http://ad.freeml.com/cgi-bin/sa.cgi?id=kB23X
------------------------------------------------------[freeml byGMO]--