mklink - подпапки с именами не-ASCII-символов недоступны

336
roded

Я использовал mklinkдля создания директории символическую ссылку на сетевой диск:

mklink /d "music" "\\192.168.2.1\mybook\music\"

Это отлично работает.

Однако при попытке доступа к подпапкам по этой ссылке, в именах которых есть специальные символы (например, «à», «ò», «í», «é» или иврит), подпапки недоступны, а проводник Windows показывает «ошибка местоположения недоступна», тогда как другие дочерние подпапки с полным именем ASCII работают просто отлично.

Доступ к этим проблемным папкам через сам сетевой ресурс также работает.

Это ожидается? Есть ли ограничение, о котором я не знаю? В любом случае вокруг этой проблемы?

Отредактировано, чтобы добавить: вот пример проблемного имени каталога:

Air (1997) - Premiers Symptômes

2
Чтобы было понятно, эти проблемные «специальные символы» обычно считаются действительными для имени файла? Yorik 7 лет назад 0
Кроме того, "доступ" = проводник Windows, стороннее / другое программное обеспечение? Yorik 7 лет назад 0
@yorik, да, они в порядке. Смотрите пример добавления имени каталога. Что касается доступа, проводнику Windows не удается открыть каталог с упомянутой выше ошибкой, а также происходит сбой другого программного обеспечения (например, foobar2000 выдает ошибку «Location not parsable»). roded 7 лет назад 0
NTFS предположительно поддерживает Unicode для имен файлов (на основе текущей кодовой страницы?), И существуют определенные вызовы Windows API, которые имеют версии с поддержкой Unicode и не Unicode (CreateSymbolicLinkW). Является ли ваша сеть общим ресурсом Samba? Сетевой ресурс может сообщать, например, с «testà ©» вместо «testé». Yorik 7 лет назад 0
@Yorik, общий доступ к сети осуществляется через NAS-систему ddwrt. Я не думаю, что в этом случае используется самба. Но не использовать маршрутизатор в качестве NAS - это, безусловно, вариант, если ничего не помогает. roded 7 лет назад 0
@ Йорик, эээ, не уверен, о чем я думал. Доля в порядке через сетевой путь. Проблема возникает только через символическую ссылку. roded 7 лет назад 0
Я на 75% уверен, что ddwrt использует Samba для обмена файлами. Я не очень хорошо разбираюсь в кодовых страницах и проблемах кодирования, но я знаю, что у samba есть две настройки конфигурации, называемые `iocharset` и` codepage`, и одна предназначена для сервера, а другая - для отчетов клиенту. Я подозреваю, что вы можете видеть одну кодировку через mklink, а другую - при обычном просмотре общего ресурса. Мне неясно, настраивается ли это при установке ddwrt. См., Например, (http://www.linuxquestions.org/questions/slackware-14/samba-special-character-umlaute-garbled-136433/). Yorik 7 лет назад 0

0 ответов на вопрос

Похожие вопросы