urlrewriting.net не принимает арабскую строку запроса - PullRequest
2 голосов
/ 25 февраля 2009

Я схожу с ума, я все перепробовал, urlencode, html encode, но urlrewriting.net читает арабскую строку запроса как ?? charecters

полностью признателен за помощь

Ответы [ 7 ]

3 голосов
/ 27 февраля 2009

Если у вас установлен .NET 3.5 SP1, я бы рекомендовал вам переключиться на System.Web.Routing вместо библиотеки UrlRewriting.net. Я недавно перешел с UrlRewriting.net на System.Web.Routing, и маршрутизация намного лучше продумана и лучше интегрирована с конвейером ASP.NET.

Если у вас есть возможность переключиться, я бы порекомендовал это. Если нет, пожалуйста, опубликуйте свой файл конфигурации UrlRewriting.net, чтобы мы могли настроить регулярные выражения, которые, очевидно, не работают. Пожалуйста, опубликуйте несколько примеров URI, которые тоже не работают.

Кроме того, какие значения определены в разделе web.config:

<system.web>
  <globalization requestEncoding="utf-8"
                 responseEncoding="utf-8"
                 fileEncoding="utf-8" />
</system.web>

Как и в примере выше, используйте UTF-8. Также обязательно закодируйте символы как UTF-8 в URI.

1 голос
/ 29 июня 2009

Попробуйте, это быстрее .. и проблем бесплатно.

"~ / Новости / 2008/10/10 / NewSID / تجربة. ASPX" где newsid - это идентификатор вашей статьи.

Получите ваш заголовок из базы данных: 'выберите * из новостей, где id =' & newsid Это намного быстрее, чем: "select * from news, где title = '" & title & "'"

1 голос
/ 13 июня 2009

После долгих утомительных испытаний Советую всем, кто использует перезапись URL-адресов в IIS 7 в интегрированном режиме, прекратите тратить время и используйте маршрутизацию MVC или забудьте об арабских строках в URL-адресе

1 голос
/ 11 июня 2009

Что происходит, когда вы запускаете приложение IIS 7 в «Классическом режиме» (может потребоваться установка, чтобы быть доступной опцией)?

0 голосов
/ 17 июня 2016

вы можете использовать -> Server.UrlEncode (productName) в global.aspx или перед перезаписью, затем используйте Server.UrlDecode (Request.QueryString ["productName"]); в PageLoad

0 голосов
/ 15 марта 2009

Обновление : человек, которому вы не поверите, я обнаружил, что проблема настолько странная, что с интегрированным режимом IIS 7, попробуйте запустить свою страницу с сервера Visual Studio Dev, и символы Unicode будут проанализированы очень хорошо, но если вы запустите страницу из IIS 7, это даст вам ???? символы.

надеюсь, что здесь какое-то тело затенит свет

0 голосов
/ 05 марта 2009

похоже, что я решил проблему, убедившись, что обе страницы, одна из которых содержит ссылку, а другая - для анализа строки запроса, имеют кодировку UTF-8

но теперь у меня другая проблема Firefox правильно отображает гиперссылку и ссылку в адресной строке но в IE6 и Ie 7 это так

mysite/News/2008/10/10/%D8%AA%D8%AC%D8%B1%D8%A8%D8%A9.aspx

, хотя IE 6 и 7 нормально анализируют ссылку, но это уродливо, какое решение, пожалуйста?

...