いつもみなさんお世話になってます。
delphi7 DBはinterbaseです。
IBconsoleからinterbaseのテーブルに日本語の入力出来ます。しかし、
そのテーブルにdelphiでIBtable DBGridコンポーネントを利用して日本語を入力しようとすると、
arithmetic exception,numeric overflow,or string truncation Cannot transliterate character between character sets;というエラーが出ます。
テーブルの定義は以下のとおりです。
CREATE TABLE BAS_FIELD_CAPTIONS
(
FIELD_ID INTEGER NOT NULL,
LANGUAGE_ID INTEGER NOT NULL,
CAPTION VARCHAR(100) CHARACTER SET SJIS_0208,
LAST_UPDATE_DATE TIMESTAMP NOT NULL,
LAST_UPDATED_BY INTEGER NOT NULL,
CREATION_DATE TIMESTAMP NOT NULL,
CREATED_BY INTEGER NOT NULL,
PRIMARY KEY (FIELD_ID, LANGUAGE_ID)
);
この CAPTION に日本語を入力したいのです。
どこがおかしいのでしょうか?どなたかお教えください。
うまくいきました。
次のようにDBをクリエートしたら日本語がdelphiでも入力できました。
CREATE DATABASE 'c:\temp\vv.gdb' PAGE_SIZE 4096
DEFAULT CHARACTER SET
今まではこのようにクリエートしてました。これではdelphiでは日本語入力が出来ませんでした。
CREATE DATABASE 'C:\A_TRADE\temp\db\test.gdb' PAGE_SIZE 4096
DEFAULT CHARACTER SET SJIS_0208
これでよいのでしょうか?
ツイート | ![]() |