Вопрос № 24761: Доброе время суток, ув. Эксперты!
Вопрос может быть не совсем в ту рассылку, но все же. Есть файловый архив, если закачивается файл с именем в латинице все ок, а вот если в имени есть русские символы, то файл нормально удаляется (unlink('фай...
Вопрос № 24.761
Доброе время суток, ув. Эксперты!
Вопрос может быть не совсем в ту рассылку, но все же. Есть файловый архив, если закачивается файл с именем в латинице все ок, а вот если в имени есть русские символы, то файл нормально удаляется (unlink('файл.zip') работает нормально), а если пытаюсь файл закачать с сервера - говорит, что файл <aбракадабра>.zip не найден. Причем опера и ie ведут себя так, а мозилла и конкверор закачивают. Если на сервере стоит винда, то проблемы нет, а вот на FreeBSD 5.3 и ASPLinux 9.2 вот такая фигня. Можно ли как-то
это исправить (возможно, настройками операционки), или просто не загружать файлы с русскими именами?
Заранее спасибо за ответы!
Отправлен: 12.08.2005, 02:01
Вопрос задал: Nexus (статус: 4-ый класс)
Всего ответов: 4 Мини-форум вопроса >>>
Отвечает: Евгений Неверов
Здравствуйте, Nexus!
Точно не знаю, но попробуйте сменить системную кодировку. В Linux-е стоит по умолчанию KOI, смените её на windows-1251.
Ответ отправил: Евгений Неверов (статус: Студент)
Отправлен: 12.08.2005, 02:55
Отвечает: Rusland
Здравствуйте, Nexus!
Извечные проблемы с кодировками... поверьте моему опыту, кирилицу лучше не использовать вообще (только в крайне необходимых случаях). Проблем становится на порядок меньше, да и с переносимостью проектов никаких проблем не будет. Можно конечно покопаться в настройках или поставить модули поддержки русского языка, но оно того не стоит имхо. Удачи.
--------- Тише едешь, дальше будешь... от того места куда едешь
Ответ отправил: Rusland (статус: Студент)
Отправлен: 12.08.2005, 09:48 Оценка за ответ: 5
Отвечает: Ерёмин Андрей
Здравствуйте, Nexus!
Видимо, операционки, стоящие на сервере, не поддерживают кириллицу. Выход: закачивать файлы только с латинскими именами. Либо, как вариант, в скрипте делать простейшую замену транслитом: абракадабра.zip -> abrakadabra.zip.
--------- Если б не было бы глюка, жизнь была б такая скyка...
Ответ отправил: Ерёмин Андрей (статус: Студент)
Отправлен: 12.08.2005, 19:34 Оценка за ответ: 5 Комментарий оценки: наверное действительно так и сделаю, спасибо
Отвечает: LO_Master
Здравствуйте, Nexus!
Я делал так:
два поля - однго типа файл, другое типа текст .
требуется указать файл на локальной машине и ввести его будущее на сервере имя - в поле для ввода имени Java-скриптом запрещен ввод русских букв.
т.е. пользователь закачивает на сервер файл и сразу же дает ему имя латиницей - и удобно и практично!!!
можно пойти другим путем - именовать файлы случайно - при поступлении их на сервер, а пользователя при загрузке просить ввести имя - например при загрузке на сервер фоток: "Я и моя собака" имя файла (случайно сформированное латиницей) и имя введенное пользователем хранить в БД - ссылку на скачку файла давать такую - file.php?id=556
а уже в скрипте выбирать по id (autoincrement) имя файла - и перебрасывать на него HTTP-заголовком:
header ('Location: http://example.com/file556.zip');
думаю второй вариант даже правильней
--------- $life --help
Ответ отправил: LO_Master (статус: 1-ый класс)
Отправлен: 12.08.2005, 23:19 Оценка за ответ: 5 Комментарий оценки: Спасибо за совет! Хотя вместо первого варианта лучше сделать транслитеризацию, как уже ответил один из экспертов