与其他语言字符的HttpUtility.HtmlEncode问题

时间:2011-10-29 08:02:20

标签: c# asp.net encoding

我试图使用HttpUtility.HtmlEncode对HTML特殊字符进行编码,例如',',<,>等。但我注意到这也编码法语字符,如(é)到é,现在é显示为它在我的HTML页面上。我不想要这个我只想编码',',<,>还有很少的其他角色。

2 个答案:

答案 0 :(得分:1)

这些角色应该看起来不一样吗?如果更换它们为什么会出现问题?这是设计的。您可以查看this问题以查看更长时间的讨论。除非您的用户无法正确查看您正在显示的文本,否则出于安全性/兼容性原因,您不应该为此而烦恼。

HtmlUtility似乎编码了几类字符,其中ISO-8859-1 character set 如果您仍然不希望对特定字符进行编码,则必须使用string.Replace()来实现此目的。

答案 1 :(得分:0)

各种.NET文本编码功能因记录错误和进行奇怪的转换而臭名昭着。在某些情况下,我对Microsoft Anti-XSS library中的编码函数运气更好,但不确定这是否适用于您的特定应用程序。