web-dev-qa-db-ja.com

見えない文字のソースコードファイルをきれいにする

私は奇妙な問題を抱えています。私のHTML/PHPコードのどこかに、私が取り除くことができないように見えない隠された見えない文字があります。 Firebugからコピーして変換すると、または 'ゼロ幅ノーブレークスペース'。それは私のウェブサイトで空でないテキストノードとして表示され、深刻なレイアウトの問題を引き起こしています。

問題は、それを取り除くことができないことです。 Invisiblesをオンにしても、ファイルに表示されません(d'uh)。私はそれを見つけることができないようです、それを検索する検索ツールはありません。コードを書き直しましたが、フレームワークファイルの1つでより深いところにあるようです。

ファイル全体で文字コードで文字を見つけるための良いツールはありますか? (Mac OS X)

31
deceze

テキストエディタでは文字を見つけることができないため、エディタでは文字を取得できません。 #FEFFまたは#FFFEは、いわゆる バイト順マーク です。これらは、マルチバイト文字が格納されている順序でUnicodeファイルで通知するためのMicrosoftの発明です。

それを取り除くには、ファイルをANSI/ISO-8859またはUnicodeとしてBOMなしで保存するようにエディターに指示します。エディターでそれができない場合は、エディターを切り替えるか(悲しいことに)、ファイルを確認できる16進エディターなどの切り捨てツールを使用する必要があります本当にに見えます。

グーグルで見ると、TextWranglerには「UTF-8、BOMなし」モードがあるようです。それ以外の場合、ターミナルに慣れていれば、Vimを使用できます。

:set nobomb

ファイルを保存します。プレスト!

文字は、テキストファイルでは常に最初です。 BOMをサポートしている編集者は、先ほど述べたように、BOMをまったく表示しません。

乾杯、

37
Boldewyn

Textmateを使用していて、問題がUTF-8ファイルにある場合:

  1. ファイルを開く
  2. ファイル>エンコーディングで再度開く> ISO-8859-1(Latin1)
  3. ファイルの最初の文字を表示して削除できるはずです
  4. ファイル>保存
  5. ファイル>エンコーディングで再度開く> UTF8
  6. ファイル>保存

それは私のためにいつも働きます。

10
Mirko

バイト順マーク です。 Mac OS X:ターミナルウィンドウを開き、ソースに移動して次のように入力します。

grep -rn $'\xFEFF' *

BOMを含む行番号とファイル名が表示されます。

5
Vexatus

私はMacユーザーではありませんが、私の一般的なアドバイスは、他のすべてが失敗した場合、hexエディターを使用することです。このような場合に非常に役立ちます。

WikiPediaの16進数エディターの比較 を参照してください。

2
Craig McQueen

メモ帳プラスプラスを使用します。すべての文字を表示するオプションがあります

2
Umair Ahmed

viまたはvimは、EOL以外の文字を表示します。

1

私はかなり確信しています Textwrangler はそれをします。

編集: VersionTracker link Bare Bonesサイトが再びダウンしているようです。

0
da5id