0

UTF-8 エンコーディングで CSV ファイルを作成しています。

Notepad ++を使用して開くと、漢字が正しく表示されます。

メモ帳で開くと漢字がちゃんと表示されます。

しかし、Excel を使用して開くと、ガベージ値が表示されます。

メモ帳を使用して開いて Control + S を押し、ファイルを閉じて Excel で再度開くと、文字が完全に表示されます。

ここに何が起こっているのか手がかりはありますか?

また、エンコーディング GB2312 を持つ通常の CSV ファイルを作成しようとしました。次に、Unix コマンド iconv を使用して、ファイルを「GB2312」から「UTF-8」に変換しました。

このコマンドは、すべての漢字を削除し、英語の文字のみを表示します。したがって、これは解決策ではありません。

提案してください。

編集 -

ガベージ値は表示されませんが、ANSI エンコーディングが表示されます。デフォルトで ANSI エンコーディングを選択するのはなぜですか。そして、メモ帳/メモ帳++で同じファイルを開いた後、UTF-8で開くの​​はなぜですか。

また、Control+sだけでExcelで正しく開くことができるのはなぜですか。

4

1 に答える 1

0

UTF-8 エンコーディングの BOM シーケンスは知っていましたが、ファイルに追加する方法を知りませんでした。

現在、BOM シーケンスは 0xEF,0xBB,0xBF であるため、これをプレーン テキストとして追加しようとしましたが、機能しませんでした。したがって、これらの ASCII 値を CSV に追加したところ、機能しました。

ASCII 値は =

new.text = chr$(239) & chr$(187) & chr$(191) |連結

これを最初の行として追加するだけで機能します!

于 2015-08-13T08:21:49.470 に答える