日記帳
本ページはプロモーションが含まれています
カテゴリー
Links
blog(ブログ)マスター
アンドロイドの巣
ゼロから始めるベランダ菜園
タイトル
ラジコン
2024年5月
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

アーカイブ

2010年12月 のアーカイブ

・アースマラソン
31日〜1月1日に ヨットで青島市を出発し
1月4日午前7〜8時
福岡県西区 マリノア(http://www.marinoa.co.jp/access.htm)に上陸
21日に大阪到着予定

・宇宙ステーション補給機の打ち上げ
 2011年1月20日(木)15時29分頃(日本時間)
http://www.jaxa.jp/countdown/h2bf2/index_j.html
http://www.jaxa.jp/countdown/h2bf2/live/index_j.html
Win32 SJIS(〜Delphi2007? )で、Idhttp.Getすると壊れる理由

編集:2010年12月21日
執筆:2010年12月20日

今日のお題は、?

使用したバージョン: Indy version 10.5.8

IdHttp.Get(URL)が
いつの間にか文字コードが自動変換になりました。

Delphi2009より前のDelphiでのIndy文字化け
デフォルトがencASCIIのため 文字が破壊され ? に なってしま います。
※Delphi2009以降は、UTF8で呼ばれるので、この問題はないと思います。

英文圏がデフォルトのため、
 Win32 SJISベースのDelphi(〜2007?まで)の場合は、変更が必要です。
IdGlobal.GIdDefaultAnsiEncoding := encOSDefault;
IdGlobal.GIdDefaultAnsiEncoding := encUTF8;
 のお好きなほうを、プログラムの最初や随時変更が必要なところで呼びます。
 グローバル変数なので、毎回変更がいらない場合は、1回よべば十分です。
  TIdhttpに限らず、TIdMailなどで変なときは、試してみる価値はあります。
 Delphi2009以降の最新版は、UTF8ベースなので、こういう変更はいらないと思います。

  グローバル変数をいじる方がコードの書き換えが少なくてすみます。
  画像などをIdHTTP1.Get(url)で取得していた場合は、コードを修正する必要があります。

» 続きを読む

Delphi DB 「BLOB は変更されています」

アプリケーション起動
- レコード移動
- 特定のレコードを通過すると

ボン
 「BLOB は変更されています」

うっ、みたことのないエラー 嫌な予感。

Delphi2005で作ったソフトでエラーが発生しました。
.Netへ 移行
  .Netへ ゴー
それいけ .Net プロジェクト始動中なのに
 なんてひどい「しうち」。
Delphiとは、さようなら のはずなのに
また、不本意ながら 仕方なくDelphiを起動。

なんとなくDBの破損だとは、思うのですが、
なにせ paradox形式なので修復ツールがない。

...2分経過 問題の場所がわからない。

27個しかレコードがないのに壊れるのは勘弁してほしい。
やはり破損か?

(1)dbのバックアップ
(2)データベースデスクトップ データ再構築をクリック
  壊れた...。
(3)気を取り直して、ソフトでバッチムーブで再構築をクリック
(4)データがいくつか消滅したがまぁいいとしよう。

この際、ついでなので 今後のためにDBも変更。

(5)データ書き出しをクリック
(6)firebirdオプションを定義して再コンパイル
(7)同じフォルダにfirebird embededをコピー
(8)データ取り込みをクリック
(9)動作確認 ok
firebirdへ移行完了。
paradoxよ さようなら。
そして、もう破損しないことを祈りつつ

 解決!!

さらば Delphi

さぁ .Netへ レッツゴー


PR

[PR]