Здравствуйте. Есть сайт, на котором с админки можно добавлять файлы "пачками". Т.е. сначала заливаешь все файлы на хост в определенную директорию, потом в админке указываешь путь к ней и нажимаешь сохранить. При этом скрипт читает папку и записывает имена файлов в массив. Потом это все пишется в базу, а файлы перемещаются в другую директорию. Если это все делать с под Линукса, то проблем с кирилицей в названии файлов не возникает. Если же файлы заливать с под Windows, название файлов с кирилицей воспринимается так - ���� ����������.gif. Что можна с этим сделать? Зарание благодарен за ваши ответы.
На сайте убрать utf-8 и поставить кириллицу, либо конвертировать кириллицу в utf-8 с помощью ф-ции iconv().
neverlose, Ну поставлю конвертацию iconv('window-1251', 'utf-8', $str). Только это будет работать в случае если буду заливать с ОС Windows, а если с Linux - gelen опять проблемы с кодировкой.
А лучше, если файлов много, давать им уникальные шестнадцатеричные имена или числовые. В форуме SMF файлы хранятся с оригинальным названием. Если кто-то закачает файл с названием myfoto.jpg, то другие не смогут закачать файл с тем же именем. Думаю, что спустя год уже тяжко будет подобрать имя для файла.
440Hz,Kreker. Все не так просто, мужыки, файлы должны сохраняться с тем же именем что у них и есть. Объясняю почему. Файлы эти потом скачивают с сайта пользователи. Я же им не буду название файла выдавать в транслите(а перекодировать обратно из транслита - ничего хорошего не даст), а еще хуже в шестнадцатеричном коде. Ну представьте пользователь заходит в категорию музыка а ему выдается список песен с названием что-то вроде HEX - кода. Правда ему это не очень понравится? Kreker, а для уникальности достаточно к оригинальному названию файла добавить его id в базе. И сохранить на сервере уже с этим именем. Или вообще оставлять в названии только id. Просто задача в том чтобы получить имена файлов для занесения его в бд(Для пользователя), а потом уже как хранить его это другое дело(там уже разницы нет какое имя). Я заливаю по 1000 файлов за раз. Мне напряжно будет прописывать для каждого файла его имя.
Чем не подходит перевести русские символы в их ASCII представление и сохранить в 16-ричном фотмате, а при отдаче назад преобразовать?