我希望直接打印像“ø”这样的字符,但在源代码中“ø”显示为ø
如果输出通过Html.Encode()
它不会呈现正确的字符,但是ø
在我的配置中
<globalization
fileEncoding="utf-8"
requestEncoding="utf-8"
responseEncoding="utf-8"
culture="nb-NO"
uiCulture="nb-NO"
/>
Source:
<li><%: Html.ActionLink("Støvletter", "ListProducts", "Tag", new { tag = "Stovletter" }, null)%></li>
这输出:
<li><a href="/Tag/Stovletter">Støvletter</a></li>
但输出应该如下所示:
<li><a href="/Tag/Stovletter">Støvletter</a></li>
这可能不是您正在寻找的答案,但它仍然很有趣。
如果你看一下HttpEncoder
它提供的源代码custom HtmlEncoders
用来代替默认的WebUtility.HtmlEncode
我玩过并发现HtmlEncoder 称为 AntiXSSMicrosoft 正确编码这些字符。
我安装它使用Nuget:
PM> Install-Package AntiXSS
然后更新了我的web.config
像这样:
<system.web>
<httpRuntime encoderType="Microsoft.Security.Application.AntiXssEncoder,
AntiXssLibrary" />
....
</system.web>
正常输出和 Html.ActionLinks 似乎都可以工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)