delphiでinterbaseに日本語を入力するには?


ちゃ  2003-09-16 08:03:15  No: 4836

いつもみなさんお世話になってます。
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  に日本語を入力したいのです。
どこがおかしいのでしょうか?どなたかお教えください。


ちゃ  2003-09-16 11:09:49  No: 4837

うまくいきました。

次のように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

これでよいのでしょうか?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加