CSSを効果的に縮小するために、メモ帳++で一連の検索置換操作を行っていました-主に空白/タブなどを削除します...)これにより、CSSの多くが壊れてしまいました。
どうやら変な文字があちこちに挿入されていたようです) BOM なしの UTF-8 で notepad++ を使用すると、これらは表示されませんが、ビューソースには表示されました。
ANSIエンコーディングで検索置換を行うことでこれらを削除できましたが、私の質問は、この文字は何ですか?なぜ表示されたのでしょうか?
CSSを効果的に縮小するために、メモ帳++で一連の検索置換操作を行っていました-主に空白/タブなどを削除します...)これにより、CSSの多くが壊れてしまいました。
どうやら変な文字があちこちに挿入されていたようです) BOM なしの UTF-8 で notepad++ を使用すると、これらは表示されませんが、ビューソースには表示されました。
ANSIエンコーディングで検索置換を行うことでこれらを削除できましたが、私の質問は、この文字は何ですか?なぜ表示されたのでしょうか?
文字列「​」は、windows-1252 でエンコードされたデータとして誤って解釈されると、ZWSP の UTF-8 でエンコードされた形式になります。(Nice UTF-8 デコーダーを使用してこれを確認しました。) これは、UTF-8 モードの Notepad++ で表示されない理由を説明しています。ZWSP (ゼロ幅スペース) は、幅のない不可視文字です。
どうやらブラウザはスタイルシートをwindows-1252でエンコードされたものとして解釈しています。BOM を付けてファイルを保存すると、ブラウザがエンコーディングをより適切に推測できるため、役立つ場合があります。本当の修正は、(サーバーに依存する方法で) サーバーが CSS ファイルの適切な Content-Type ヘッダーを送信することを確認することです。
ただし、これが CSS ファイル内の唯一の非 Ascii 文字である場合、問題のあるデータを削除した後は、実際には問題になりません。
Notepad++ に ZWSP を挿入させる簡単な方法はわかりません (もちろん、システムで一般的な文字挿入ユーティリティを使用できます)。そのため、それがどこから来たのかは少し謎です。おそらく、どこかからコピーして貼り付けます。
Firefox で Web 開発者プラグインまたは ext を使用すると、css ドキュメントに問題のある文字が表示されます。
Visual Studio で確認できたのは次のとおりです。
}
.t
Web 開発者は、キャレットが上に付いた「a」という望ましくない隠し文字を示しました。
}
â.t
上記のutfエンコーダーリンクはこれを明らかにしました
} (the encoded character for ampersand)
.t
この
削除して再入力するだけで問題を解決できます。