喫茶XRAYトップページ

[スレッド全体
]

[10225] レコードが保存できません返信 削除
2016/7/24 (日) 11:42:19 千絵 〔HomePage
こちら様から助けていただき、データベースに接続できることを確認し、
安心して、しばらくDelphiから遠ざかっていました。

また勉強を再開をしたのですが、すぐに躓いてしまいました。
レコードの挿入はできますが、保存ができないのです。

保存に使ったコードは下記です。
Webページを参考にやってみました。

procedure TForm1.Button5Click(Sender: TObject);
begin
  //レコードを保存
  sdsSyain.ApplyUpdates(-1);
end;

どのレコードも保存ができないのではなく、日本語を使ったものだけ保存ができません。
すべてを半角英数字で入力したものは保存されます。

最初のデータは、IBConsole で作成しました。
文字コードは、SJIS_0208 です。
IBConsoleからの追加入力や保存は問題なくできております。
DelphiのバージョンはXE6、使っているPCはWindows7です。

よろしくお願いします。
困ったときばかりやってきてすみません。

[10229] Re:レコードが保存できません返信 削除
2016/7/24 (日) 19:46:05 igy
▼ 千絵さん
> 文字コードは、SJIS_0208 です。

文字コードの指定を、

UNICODE_FSS または、UTF8

にしてみたら、どうなりますか?

[10233] Re2:レコードが保存できません返信 削除
2016/7/25 (月) 23:55:07 千絵 〔HomePage
▼ igyさん
> ▼ 千絵さん
> > 文字コードは、SJIS_0208 です。
>
> 文字コードの指定を、
>
> UNICODE_FSS または、UTF8
>
> にしてみたら、どうなりますか?


いつもありがとうございます。
両方とも試してみました。

UTF8にしたら、日本語のフィールドだけすべて消えました。
新たに入力したものは保存されませんでした。

UNICODE_FSSでは、エラーが出てしまいました。



[10234] Re3:レコードが保存できません返信 削除
2016/7/26 (火) 14:33:49 taka
データベースの文字コード

クライアントの接続文字コード
の設定が違うとかで
文字コード自動変換による文字の破損が一番有力候補ですが

接続のparamsに
lc_ctype=UTF8
を追加しても
日本語が全部消えたとのことなので

古いデータベースをそのまま新しいバージョンにもっていって
使いまわしいるのなら
エンジンとデータベースのODS(On-Disk Structure)のバージョンが違うとか
くらいしか思いつきません。

あとは、シフトジスのコードの時の残骸とかがどこかにあったりして
lc_ctype=CP943C
に設定するようなコードがどこかにあったりするとか

新しいデータベースをUTF8で作って、
接続,書き込みテストする単純なプログラムで正常に書き込み読み込みできるか
確認してみたほうがいいと思います


[10235] Re4:レコードが保存できません返信 削除
2016/7/26 (火) 15:06:06 千絵 〔HomePage
▼ takaさん
>
> 新しいデータベースをUTF8で作って、
> 接続,書き込みテストする単純なプログラムで正常に書き込み読み込みできるか
> 確認してみたほうがいいと思います


ありがとうございます。
古いヤツを使いまわしていました。
新しく作ってみます。

[▼次のスレッド]
INCM/CMT
Cyclamen v3.82