У меня есть скрипт, который отслеживает посещения и ссылки на веб-сайт.
Я отправляю document.referrer (я использую escape() в javascript) на сервер и сохраняю строку в базе данных после ее декодирования с помощью HttpUtility.HtmlDecode (C#).
В большинстве случаев я могу разобрать строку реферера и показать символы иврита, но в некоторых случаях я не могу.
Я обнаружил, что две строки разные (одна отображается правильно, а другая нет)
Тот, который отображается справа, содержит следующие символы: http://www.google.co.il/search?hl=iw&source=hp&q=%D7%99%D7%91%D7%95%D7.%90%D7%A0%D7%99%D7%9D %D7%9C%D7%9E%D7%AA%D7%A0%D7%95%D7%AA &meta= &aq=f&oq=
Те, которые не отображаются должным образом (если я не использую Microsoft.JScript.GlobalObject.unescape), выглядят следующим образом: http://www.google.co.il/custom?q=%FA%EE%E9%F8 - %F6% E9%E9 %F8%EB%E1&client=pub-0385896995839253&forid=1
Я могу понять, что вторая строка содержит символы ISO-8859-1 и работает правильно, если не экранирована на стороне сервера, но в URL-адресе нет информации о кодировке.
поэтому я не могу различить эти два формата. или я могу? нужно ли мне?
Примечание: когда я копирую и вставляю эти URL-адреса в адресную строку браузера, браузер определяет первый как «Unicode (UTF-8)», а другой как «Windows-1255».
Спасибо Ярон