Я пытаюсь построить названия сайта генерируются динамически из HttpContext, но я видел, что у меня есть проблемы, когда URL содержит специальные символы, такие как ß
что приводит названия, имеющие неправильные символы, например fußball
переводится в fu%C3%9Fball
. Сейчас я храню свой титул в массиве так:Получение правильного кодирования с HttpContext
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
когда URL фактически fußball
. Я видел, что RawUrl
получает правильные символы, но он также принимает строку запроса, которую я не хочу. Есть ли какой-то общий и простой способ сделать это, или мне нужно написать строку запроса на растяжение строки расширения?
Использование Try HttpServerUtility.UrlDecode (HttpContext.Current.Request.Url.AbsolutePath). –