PHP, обнаруживающий файлы кодирования/сохранения файловой системы с нелатинскими именами файлов

Я должен сохранить файлы с нелатинскими именами файлов в файловой системе, с помощью PHP.

Я хочу сделать эту работу межплатформенной. Как я знаю, какое кодирование я могу использовать для записи файла? Я понимаю, что много современных файловых систем являются базирующимся UTF-8 (это корректно?), но я сомневаюсь, что Windows XP (например).

Так, есть ли устойчивый механизм обнаружения?

8
задан YakovL 30 March 2018 в 18:39
поделиться

1 ответ

Не ответ на ваш вопрос, но если вам не нужно выполнять обширные операции на уровне файловой системы (например, поиск, сортировка ...), там - хороший кроссплатформенный обходной путь для проблемы, описанной в в этом вопросе SO : URLEncode () с именами файлов.

Hörensägen.txt 

превращается в

H%c3%b6rens%c3%a4gen.txt

, который должен быть безопасным для использования в любой файловой системе и может отображать любой символ UTF-8.

Я считаю, что это намного предпочтительнее, чем пытаться «изначально» работать с возможностями ОС хоста, что гарантированно будет сложным и подверженным ошибкам (помимо различий в операционных системах, я уверен, что существуют различные форматы файловых систем - FAT16, FAT32, NTFS, extFS версий 1/2/3 .... привносят свой собственный набор правил, о котором нужно помнить.)

6
ответ дан 5 December 2019 в 22:17
поделиться
Другие вопросы по тегам:

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