Sor*_*ren 3 asp.net asp.net-core-mvc asp.net-core asp.net-core-1.0
源代码:
@{ ViewBag.Title = "???? ????"; }
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>@ViewBag.Title</title>
</head>
<body>
<div class="container" dir="rtl">
@RenderBody()
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
它在浏览器中很好地呈现,但是我想要html源中的相同文本(对于某些搜索引擎优化器软件)
并输出:
<!DOCTYPE html>
<html>
<head>
<title>سلام علیک</title>
</head>
<body>
...
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
因为默认情况下,HTML编码引擎将仅安全列出基本的拉丁字母(因为浏览器存在错误。因此,我们正努力防止出现未知问题)。您看到的&XXX值仍然可以如屏幕快照中所示正确显示,因此,除了增加页面大小外,没有任何实际危害。
如果增加的页面大小使您感到困扰,则可以自定义编码器以安全列出自己的字符页面(不是语言,Unicode不考虑语言术语)
为了扩大编码器认为安全的字符,可以将以下行插入startup.cs中的ConfigureServices()方法中;
services.AddSingleton<HtmlEncoder>(
HtmlEncoder.Create(allowedRanges: new[] { UnicodeRanges.BasicLatin,
UnicodeRanges.Arabic }));
阿拉伯语在Unicode中有很多块,因此您可能需要添加更多块才能获得所需的完整范围。
| 归档时间: |
|
| 查看次数: |
1054 次 |
| 最近记录: |