我正在尝试构建从HTTPContext动态生成的网站标题,但是当网址包含ß
等特殊字符导致标题错误,例如fußball
转换为{时,我发现我遇到了问题{1}}。现在我将我的标题存储在数组中:
fu%C3%9Fball
当url实际为string[] customSEOTitle = HttpContext.Current.Request.Url.AbsolutePath
.Split('/')
.Where(s => !string.IsNullOrWhiteSpace(s))
.Distinct()
.Select(s => CultureInfo.CurrentCulture.TextInfo.ToTitleCase(s))
.ToArray();
时,AbsolutePath会返回fu%C3%9Fball
。我看到fußball
得到正确的字符,但它确实需要查询字符串,我也不想要它。是否有任何通用和直接的方法来执行此操作或者我必须编写扩展方法条带化查询字符串?
答案 0 :(得分:1)
您可能正在寻找的是UrlEncode和UrlDecode方法。
MSDN | HttpServerUtility.UrlDecode Method (String)
不确定您使用的是哪个.NET版本,请参阅此处的详细讨论。
Replacement for System.Web.HttpUtility.UrlEncode/UrlDecode ASP.NET 5