Поделиться через


Кодировка URI в путях UNC интерпретируется буквально в Windows 10 версии 1803 и более поздних версиях

В этой статье приведены некоторые сведения о кодировке URI в путях UNC, интерпретированных буквально в Windows 10 версии 1803 и более поздних версиях.

Применяется к: Windows 10 — все выпуски
Исходный номер базы знаний: 4467268

Итоги

В Windows 10 версии 1803 и более поздних версиях Windows URL-адреса (например, библиотеки документов SharePoint) нельзя ссылаться на пути универсального именования (UNC), содержащие символы кодирования URI.

Например, если путь http://myserver/Shared Documents закодирован URI, путь становится http://myserver/Shared%20Documents. До Windows 10 версии 1803 можно использовать UNC-путь \\myserver\shared%20documents. После обновления до версии 1803 "%20" больше не интерпретируется как пробел, а как литеральное значение "%20". Это может предотвратить разрешение ранее созданных ссылок на правильный http-путь.

Дополнительная информация

Это сделано намеренно. UNC-путь следует обновить, чтобы отразить литеральный путь, и все символы кодировки URI должны быть удалены. Или используйте схему file://so, которую декодирует путь. (Например, file://\\myserver\shared%20documents.)

Чтобы достичь паритета с локальным соглашением об именовании файловой системы Windows, Windows 10 версии 1803 предоставляет поддержку дополнительных символов в именах файлов и папках на веб-путях.

Одним из ранее неподдерживаемых символов является знак процента (%). Так как этот символ является escape-символом, используемым для кодирования URI, UNC-путь, закодированный URI, больше не будет декодирован URI. Вместо этого он будет рассматриваться как литеральный путь.

Пути стиля Windows не являются URI и поэтому не соответствуют обычным правилам КОДИРОВАНИЯ URI, поэтому любые символы, использующие кодирование процентов в URI, должны быть декодированы при переводе путей в стиле WebDAV обратно в пути в стиле Windows. Аналогичным образом пути в стиле Windows не используют кодировку процентов для представления специальных символов в именах файлов, поэтому всякий раз, когда служба WebClient наблюдает символ процента в пути стиля Windows при переводе в URI, символ "%" будет заменен символом "%25", даже если за символом "%" следует две шестнадцатеричные цифры.