我使用以下方法HtmlEncode
text
Spanish
string word = "configuración";
string encodedWord = System.Net.WebUtility.HtmlEncode(word);
中的configuración
,如下所示:
ó
输出是预期的:
method
但是! string
文字表示拉丁文小写字母的 HTML实体编号" o"急性。
但是,我想知道是否有办法 - 使用我不知道的内置函数,库等 - 来显示 HTML实体编号的HTML实体名称并且还支持其他字符(如通用解决方案)。
我到目前为止所尝试的是检查HTML实体表(Google搜索时有很多,但我使用了这个:http://www.ascii.cl/htmlcodes.htm)然后创建了一个自定义ó
来替换通过做一些映射,从单词中得到oacute;
。
因此,如果该字词包含configuración
,那么匹配的文字将被替换为 HTML实体名称,即{{1}},但它真的很痛苦有很多案例/情景。
最后,所需的输出将是:
{{1}}
答案 0 :(得分:1)
的HTMLEncode(字);只编码ISO 8859-1 (Latin-1)。这意味着您的输入需要在ISO 8859-1中进行编码。 ó不符合iso标准,您可以尝试使用AntiXss编码器:
Microsoft.Security.Application.AntiXss.HtmlEncode("ó");
or Microsoft.Security.Application.Encoder.HtmlEncode("ó");