0

CSSを効果的に縮小するために、メモ帳++で一連の検索置換操作を行っていました-主に空白/タブなどを削除します...)これにより、CSSの多くが壊れてしまいました。

どうやら変な文字があちこちに挿入されていたようです) BOM なしの UTF-8 で notepad++ を使用すると、これらは表示されませんが、ビューソースには表示されました。

ANSIエンコーディングで検索置換を行うことでこれらを削除できましたが、私の質問は、この文字は何ですか?なぜ表示されたのでしょうか?

4

2 に答える 2

2

文字列「​」は、windows-1252 でエンコードされたデータとして誤って解釈されると、ZWSP の UTF-8 でエンコードされた形式になります。(Nice UTF-8 デコーダーを使用してこれを確認しました。) これは、UTF-8 モードの Notepad++ で表示されない理由を説明しています。ZWSP (ゼロ幅スペース) は、幅のない不可視文字です。

どうやらブラウザはスタイルシートをwindows-1252でエンコードされたものとして解釈しています。BOM を付けてファイル保存すると、ブラウザがエンコーディングをより適切に推測できるため、役立つ場合があります。本当の修正は、(サーバーに依存する方法で) サーバーが CSS ファイルの適切な Content-Type ヘッダーを送信することを確認することです。

ただし、これが CSS ファイル内の唯一の非 Ascii 文字である場合、問題のあるデータを削除した後は、実際には問題になりません。

Notepad++ に ZWSP を挿入させる簡単な方法はわかりません (もちろん、システムで一般的な文字挿入ユーティリティを使用できます)。そのため、それがどこから来たのかは少し謎です。おそらく、どこかからコピーして貼り付けます。

于 2012-06-12T18:51:57.377 に答える
1

Firefox で Web 開発者プラグインまたは ext を使用すると、css ドキュメントに問題のある文字が表示されます。

Visual Studio で確認できたのは次のとおりです。

}
.t

Web 開発者は、キャレットが上に付いた「a」という望ましくない隠し文字を示しました。

}
â.t

上記のutfエンコーダーリンクはこれを明らかにしました

} (the encoded character for ampersand)
.t   

この

削除して再入力するだけで問題を解決できます。

于 2012-06-25T15:03:22.133 に答える