Просмотр полной версии : upload изображения с русским именем
Собственно сам проблема в том что при загрузке изображения на сервер с помощью FileReference, его потом невозможно загрузить обратно во флеш, т.к имя его на сервере искажается
с "русское название файла.jpg"
на "СЂСѓСЃСЃРєРѕРµ название файла.jpg"
как обратно перекодировать эти символы?
или как получить такое же название во флеше исходя из русского имени?
2 scarbo:
что именно iconv делает?
и что это за каркозяблы из имени? utf-8?
хотелось бы обойтись в данном случае без PHP, это возможно?
понял что iconv перекодирует из одной кодировки в другую, вот только какие кодирвки использовать, т.е из какой перекодировать?
хотелось бы обойтись в данном случае без PHP, это возможно?А как же ты их туда закачиваешь-то?:eek:
На моем по умолчанию "cp1251" выставлена так что так - на сервер$name = iconv("UTF-8", "cp1251", $name);с сервера - $name = iconv("cp1251", "UTF-8", $name);
Не надо использовать всяческие недокодировки, вроде cp1251.
Не надо использовать всяческие недокодировки, вроде cp1251.__etc какой тогда выход предложите?
А как же ты их туда закачиваешь-то?:eek:
Ну понятно что с помощью PHP :)
Я имею ввиду возможно ли во флеше перекодировать имя файла в UTF-8? для дальнейшей загрузки через MovieClipLoader...
...с сервера - $name = iconv("cp1251", "UTF-8", $name);
что имеется ввиду с сервера? это в случае download?
2 __etc:
может есть все таки альтернатива?
$img_file = iconv('utf-8', 'cp1251', $_FILES['Filedata']['name']);
желаемого результата не дает:
из "русское название файла.jpg" делает "название файла.jpg"
из "картинка1.jpg" делает "1.jpg"
updated
scarbo, спасибо ОГРОМНОЕ - все заработало
имена обрезались из-за basename
$img_file = iconv('utf-8', 'cp1251', $_FILES['Filedata']['name']);
// так было
//move_uploaded_file($_FILES['Filedata']['tmp_name'], CMS_ROOT.$configs['imgPathTemplate'].basename($img_file));
//так сделал
move_uploaded_file($_FILES['Filedata']['tmp_name'], CMS_ROOT.$configs['imgPathTemplate'].$img_file);
и все заработало как нужно
еще раз спасибо scarbo :drinks:
__etc какой тогда выход предложите?
Использовать utf-8 везде и всюду.
gloomyBrain
14.01.2009, 16:00
Использовать utf-8 везде и всюду.
Ну как бы места побольше занимает =)
Ну как бы места побольше занимает =)
В мире, где гигабайт стоит центов 10? А проблемы с корректным отображением данных вас вообще не волнуют? Печально.
gloomyBrain
14.01.2009, 16:15
сколько бы ни стоил гигабайт - передача какой либо книжки Толкиена в кодировке UTF-8 займет несколько больше времени, чем в cp1251 (при условии, что книжка на русском).
Хотя в мире где 4mb/sek стоит 15 рублей в день =)... Все меняется со временем
Печально.
Действительно, печально
Как использовать utf-8, если выбор файла происходит с компьютера пользователя и при передаче используется именно win1251 (если грузить из под Windows).
Как при аплоаде через FileReference принудительно указать кодировку?
в AIR есть такие методы, а как этого добиться в as2?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.