web-dev-qa-db-ja.com

ファイル内のBOM文字を削除する

HTMLファイルにBOM文字があります。削除したいです。私は多くの検索を行い、多くのスクリプトなどを使用しました。しかし、誰も働きませんでした。 notepad ++もダウンロードしましたが、エンコードメニューに「UTF8 without BOM」がエンコードされていません。そのBOMキャラクターを削除するにはどうすればよいですか?ありがとう。

The screenshot of my notepad++

20
Meysam Valuyan

同じメニューを見ると。 [UTF-8に変換]をクリックします。

If you look in the same menu. Click "Convert to UTF-8.

29
WalterM

この問題は、Vim(MinGW-w64(Gitをインストールしている場合は付属しています)またはCygwinで簡単に入手できます)を使用して解決できます。

だから、キーは使用することです:

  • オプション -s、vimコマンドでvimスクリプトを実行します。
  • オプション -b、ファイルをバイナリモードで開きます。この場合、これらの厄介なBOMバイトが表示されます。
  • オプション -n、これは非常に重要です!このオプションはスワップファイルの使用を拒否するため、すべての作業はメモリ内で実行されます。ファイルが大きい場合は、スワップファイルがプロセスを誤解させる可能性があるため、安心できます。

それでは、コードに行きましょう!

  1. まず、vimコマンドを保持する「script」という名前の単純なファイルを作成します

    echo 'gg"+gPggdtCZZ' > script
    

    ...この奇妙な文字列はvimに言います "ファイルの先頭に移動し、最初のWordをコピーしてカーソルの後ろに貼り付け、文字「C」まですべてを削除してから保存しますファイル

    :ファイルが「C」以外の文字で始まる場合、指定する必要があります。異なる「最初の文字」がある場合は、ロジックに従って、最初の文字を読み取り、上記のスニペットでそれを置き換えるbashスクリプトを作成できます。

  2. Vimコマンドを実行します。

    vim -n -b <the_file> -s script