Подтвердить что ты не робот

Как получить файл в Windows с двоеточием в имени файла?

Я получаю ошибки от клиентов, которые загружают файлы с двоеточием в имени файла, т.е. C:/uploads/test : doc.html

Я предполагаю, что некоторые системы Unix или Linux генерируют файл, но я не уверен, как пользователи сохраняют их с недопустимым именем файла. Я закодировал фрагмент, который должен переименовать документ при загрузке. Моя проблема заключается в том, что я не могу проверить его, потому что я не могу получить файл в Windows с двоеточием в имени файла.

4b9b3361

Ответ 1

Я нашел очень похожий символ для двоеточия, "꞉" , это символ юникода, называемый Colon Letter Colon. Это не имеет места, как ползунок fullwidth, и почти точно совпадает с обычным двоеточием, но символ работает. Вы можете скопировать и вставить его сверху или использовать кодовую точку, U + A789

Ответ 2

Двоеточие является недопустимым символом для имени файла Windows. Вы не сможете разрешить ':' в имени файла, но вы можете обойти его.

Вы можете делать то, что звучит так, как вы уже сделали; создайте script, который заменяет эти недопустимые символы действительными на стороне UNIX. Или вы можете позаботиться об этом на сервере Windows с переводом символов имени файла: http://support.microsoft.com/kb/289627

Ответ 3

Вероятно, из имени файла, которое вы указали, что символ, который у вас есть в ваших именах файлов, не является буквальным двоеточием :, который является зарезервированным символом в именах файлов Windows, а вместо него - fullwidth colon . Это символ Юникода, который очень похож на двоеточие, визуально окруженное пробелами, которые вы не можете удалить. Вы можете обращаться с ним так же, как любой символ Unicode, точка кода U+FF1A.