私はHTMLをエンコードするのにServer.HTMLEncodeを使用しています。ASP.NET Server.HtmlEncodeの制限
私はそれが単一引用符をエスケープしないことに注意します。 <input type='text' .... />
(これは有効なXHTMLです)。
Server.HTMLEncode、特にこのメソッドが扱うことのできない有効なXHTMLでない文字については、他にも制限や注意点がありますか?
私はHTMLをエンコードするのにServer.HTMLEncodeを使用しています。ASP.NET Server.HtmlEncodeの制限
私はそれが単一引用符をエスケープしないことに注意します。 <input type='text' .... />
(これは有効なXHTMLです)。
Server.HTMLEncode、特にこのメソッドが扱うことのできない有効なXHTMLでない文字については、他にも制限や注意点がありますか?
MSDN says Server.HTMLEncodeのみ以下ん
私はそれはほとんどの文字をエスケープ表示され、それが脱出をdosn'tものがXHTML準拠
を壊してはいけない、ここで http://www.ascii.cl/htmlcodes.htmをlistsedすべての文字コードに対してHTmlENcodeをテストしてみました
HTMLエンコードでは、文字列のHTMLに準拠していないすべての文字が、同等のエンティティに変換されるようにする必要があります。あなたが発見したように、一重引用符などは完全に(X)HTMLで有効であり、エンコーディングは必要ありません。これが必要な場合はUrlEncode/UrlDecodeを使用するか、Replaceを使用して独自の関数をロールバックすることができます。
私はここで同じ答えを探しに来ました。私の場合、解決策が実際に...単一引用符のエンコードを含めるには...あなたの周囲のHTMLに
を二重引用符を使用していた、私は(VB.Netで)を使用します。
Server.HTMLEncode("Here's a string with a single quote").Replace("'", "'")