Да, ваше наблюдение за поведением является точным. Internet Explorer 10 и ниже следуют сложному алгоритму кодирования URL-адреса. Это, как утверждается, было обновлено в Internet Explorer 11, но я обнаружил, что новый параметр , похоже, не работает .
Параметр «Всегда показывать кодированные адреса» относится к тому, отображается ли PunyCode для имен узлов IDN и не влияет на строку запроса. Send UTF-8 URLs
в основном применяется к кодированию пути, хотя он также может влиять на другие кодеки
. Поведение не полностью документировано нигде. Я хотел написать полную запись в своем блоге IEInternals об этом, но в итоге перешел от Microsoft до этого. В это сообщение в блоге есть частичное объяснение.
Да, есть настройки, которые влияют на поведение. Флажок Send UTF-8 URLs
внутри «Инструменты»> «Свойства обозревателя»> «Дополнительно» - это одна из переменных, которая определяет, как отправляются URL-адреса, но опция не слепо делает то, что она подразумевает (только UTF-8 кодирует путь, а не строку запроса). Другие задействованные переменные включают в себя:
Как следствие этих переменных вы не можете надежно используйте URL-адреса, которые не были правильно закодированы (например,% -экранированный UTF8) в Internet Explorer.