Windows (全般)

Windows OS 全般に関する話題を扱うフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro)
テキストファイルをメモ帳で読み込むが文字が表示されない。
投稿日時: 23/05/01 16:57:30
投稿者: モグモグ

Accessから書き出したテキストファイルを誤って削除(shift+DEL)してしまい、ファイル復活ソフト(Recuba,Glary Undelete等)でサルベージしました(2ファイル)。結果はどのソフトとも「良好」との判定でした。31バイトのファイルは適正に読めるのですが(一行ごとに改行されている)、12キロバイトの方がメモ帳で開いても文字が見えません(真っ白な画面)。カーソルで選択すると確かに文字部分は選択できます(こちらは改行されずにひとかたまりになっている)。開く際に文字コードを全て試してみましたが全て同じ結果で文字が見えません。どこのカテゴリーに入るのか分からなかったのでこちらで質問させて頂きました。

回答
投稿日時: 23/05/02 09:50:24
投稿者: Suzu

引用:
メモ帳で開いても文字が見えません(真っ白な画面)。カーソルで選択すると確かに文字部分は選択できます(こちらは改行されずにひとかたまりになっている)。

 
この状態がどのような状態なのか判りませんが
メモ帳で、文字コードを指定し開く事は出来ない認識なのですが(間違っていたらすみません)
 
2ファイル共、同じAccessから同じ手法で出力されたのであれば
12KBの ファイルも 同じ文字コードになっているのではないでしょうか?
 
同じ文字コードで開こうとしても 正常に見えないのであれば
ファイル先頭の、バイトオーダーマーク(BOM)が ビット落ちしている等の
破損していたりするのではないでしょうか。
 
 
【ファイル】UTF-8のBOM付き、BOM無しの違い・確認・作成について
https://nyanblog2222.com/windows/4659/
 
 
とりあえず
31バイトファイルをメモ帳で開き、BOMコード の有り無しを調べ
BOMありであったなら、問題のあるファイルも BOM有り のはずですから
バイナリエディタで開き、先頭に、EF BB BF がきちんと入っているか確認しましょう。
 
いっそのこと、バイナリエディタ上で、BOMを削除してしまえば、きちんと表示できるかもしれませんね。
(その時には、ファイルをコピーし、バックアップファイルを作ってから操作しましょう)
 
 
でも、Accessからの書出しで失敗した可能性もあります。
Accessが残っているのであれば再び書き出した方が早いのでは?

投稿日時: 23/05/02 11:02:38
投稿者: モグモグ

Suzuさん、早速のご回答ありがとうございます。
もう一度ファイルを開いてみたところ、31バイトの短い方は文字コードは ANSI で12キロバイトの方は UTF-8 となっておりました。ご教授の方法によりバイナリエディターで見てみます。
 
話は全く違いますが、2重に投稿してしまったようで、片方を削除をと思ったのですが、削除できないとのことなので、片方を解決済みにした方が良いのでしょうか。(解決済みにするやり方もちょっと見当たらず困っております。

投稿日時: 23/05/02 11:04:37
投稿者: モグモグ

書き忘れました。元の mdb もその時削除してしまいました。

回答
投稿日時: 23/05/02 16:51:10
投稿者: Suzu

UTF-8 は、どの様に確認したのでしょうか?
メモ帳で開いて、UTF-8となっているから UTF-8 では無いですよ?
UTF-8 となっていても、真っ白なのですよね? UTF-8 でない可能性もあります。
 
31 バイトファイル内のデータが 半角英数 のみのデータ で構成されているなら
UTF-8 で出力しているが、開く際に、ANSIとして認識されているのも判りますが・・・
 
とりあえず、
バイナリエディターで開き BOM の破損がある様なら修正
それでもダメなら、先頭の 00〜FF の 2文字を削除してみて
文字として認識できる様になれば、ラッキーでしょう。
 
 
Accessも削除した との事ですが、
Access ファイル を復旧できるか 試すのもアリでしょう。
 
 
それでもダメでどうしても復旧したいなら、
あまりそのPCを触らないうちに データ復旧業者に持ち込みましょう。
(消した記憶域に、書き込みされるとデータ復旧はできませんからね)

投稿日時: 23/05/04 19:27:22
投稿者: モグモグ

仕事の関係でご報告が遅れて申し訳ありませんでした。
エディターで開いたところ文字が見えない方の中身は全て"00"でした。元の内容は2バイト文字では無く日本語です。小さい方のテキストファイルがうまく読めていたので,読めない方のファイルもバイト数がそこそこ合っていたようなのでサルベージ出来て、ただ文字の表示がおかしいのかとすっかり思い込んでいました。サルベージ自体失敗していたようです。
読めた方のテキストファイルもBOMはついておりませんでした。
その時使用していた(同じく消してしまった)mdbも起動出来ない状況です。そのmdbはコピーが保存してあるので良いのですが、それを使って打ち込んだデータが消滅したのが痛かったです。

回答
投稿日時: 23/05/08 11:27:24
投稿者: Suzu

バイナリエディターで開き全て 「00」表示と言う事であれば サルベージに失敗している状態ですね。
 
このまま、別ソフトをインストール等を行いサルベージを試すと、
元々データがあった領域に対し、そのインストールしたデータが上書きされている可能性もあります。
 
何度も言いますが
どうしても復旧したいなら、あまりそのPCを触らないうちに データ復旧業者に持ち込みましょう。
 
 
mdbもサルベージできない。
mdb はバックアップがあるが、欲しいデータが入力される前のmdb
こうなると、諦めでしょうね。

投稿日時: 23/05/09 16:04:32
投稿者: モグモグ

Suzuさん適切なアドバイスをありがとうございました。
データ自体は手間をかけて打ち込んだもので残念ですが、業者に高い手間賃を払って頼むほどではないので再度打ち込み直します。
不要なデータが残るのがいやでつい shift+Del で消してしまうのですが、何十年ぶりにやってしまいました。これからはゴミ箱を活用するようにします。
適切なご指導を頂き大変勉強になりました。今後も何か有りましたら宜しくお願いいたします。
一応これで解決済みにさせて頂きます。