У меня есть веб-проект на C # .net, для которого установлен тег глобализации:
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="nb-no" uiCulture="no"/>
Когда этот URL-адрес представляет собой приложение Flash (возникает та же проблема при вводе URL-адреса вручную в браузере): c_product_search.aspx? Search = kjøkken (или c_product_search-aspx? Search = kj% F8kken
Оба возвращают следующие коды символов:
k U+006b 107
j U+006a 106
� U+fffd 65533
k U+006b 107
k U+006b 107
e U+0065 101
n U+006e 110
Я не знаю слишком много о кодировке символов, но кажется, что ø был дан символ замены юникода, верно?
Я попытался изменить тег глобализации на:
<globalization requestEncoding="iso-8859-1" responseEncoding="utf-8" culture="nb-no" uiCulture="no"/>
Это заставило запрос работать. Однако теперь другие поиски на моей странице перестали работать.
Я также попробовал следующее с похожими результатами:
NameValueCollection qs = HttpUtility.ParseQueryString(Request.QueryString.ToString(), Encoding.GetEncoding("iso-8859-1"));
string search = (string)qs["search"];
Что мне делать?
С уважением,
nitech