【发布时间】:2011-10-29 08:02:20
【问题描述】:
我试图使用 HttpUtility.HtmlEncode 对 HTML 特殊字符(如 '、"、 等进行编码。但我注意到这也将法语字符(如 (é))编码为在我的 HTML 页面上。我不想这样,我只想编码 '、"、 和其他几个字符。
【问题讨论】:
我试图使用 HttpUtility.HtmlEncode 对 HTML 特殊字符(如 '、"、 等进行编码。但我注意到这也将法语字符(如 (é))编码为在我的 HTML 页面上。我不想这样,我只想编码 '、"、 和其他几个字符。
【问题讨论】:
这些字符应该看起来不同吗?如果更换它们为什么会出现问题?这是设计使然。您可以查看this 问题以查看更长的讨论。除非您的用户无法正确看到您正在显示的文本,否则出于安全/兼容性原因,您不应该乱用它。
HtmlUtility 似乎编码了几类字符,其中ISO-8859-1 character set
如果您仍然不希望对特定字符进行编码,则必须为此目的使用string.Replace()。
【讨论】:
各种 .NET 文本编码函数因记录不充分和进行奇怪的转换而臭名昭著。在某些情况下,我对Microsoft Anti-XSS library 中的编码函数有更好的运气,但不确定这是否适用于您的特定应用程序。
【讨论】: