[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как определить кодировку файловой системы?
AndreyPik
У меня скрипт в UTF-8, тестирую в Windows в TopServer'е. Когда загружаю файл, то его имя из $_FILE['file']['name'] записываю в базу тоже в UTF-8. Но когда перемещаю этот файл с move_uploaded_file($_FILE['tmp_name'],"путь".$_FILE["name"]) то имя файла записано кракозябрами, и при обращении к этому файлу через браузер файл не находится.
Если преобразовать имя в windows-1251 функцией move_uploaded_file($_FILE['tmp_name'],"путь".iconv("UTF-8","windows-1251",$_FILE["name"]) ) , то всё О.К.
Следовательно вопрос, как определить, нужно ли преобразовывать кодировку или нет, и в какую? На windows нужно преобразовать в windows-1251, а если сервер будет не на windows, там что? Может есть какая-то функция или переменная, в которой хранится эта информация?
Заранее, спасибо!!!
linker
Кириллицу преобразовывать в транслит.

_____________
Gear Framework
Gear Framework на Github
AndreyPik
Если бы я хотел преобразовывать имя, я бы сделал его типа 001, 002 и т.д. А я хочу сохранить имя вне зависимости от того, какой сервер и кодировка у него.
twin
Не всегда желания совпадают с возможностями. Файл на сервере нельзя называть кирилицей, это не домашняя винда. Есть протоколы, а они не терпят таких вольностей.
Записывай оригинальное имя в отдельное место.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Guest
кц23к23 3ц3кц3кц3кц3кц3кц3к
Valick
AndreyPik, никогда не сохраняйте файл с тем именем с которым он пришел, будь то кириллица, латиница или арабская вязь, у вас всегда будет оставаться шанс получить два файла с одинаковыми именами.
Если нужно сохранить реальное имя файла, то сохраняйте его в базе данных, рядышком с путем к этому файлу (отдельные поля), а на диск уже сохраняйте со своим уникально сгенерированным именем.


_____________
Стимулятор ~yoomoney - 41001303250491
Joker
Цитата (twin @ 18.08.2010 - 15:51)
Файл на сервере нельзя называть кирилицей, это не домашняя винда.

Почему нельзя?) можно чего нет как будто linux русский не поддерживает)

гемор возникнет с этим это да скорее всего, а так хоть заназывайся)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.