передача файлов на сервер
Возникла такая проблема с передачей файлов на сервер. При передачи файла с названием на английском языке все работает отлично. Но если пытаюсь передать файлы с названием на русском языке, то при передачи файла его название меняется на какие-то символы. Как это исправить?
<label><strong>Загружаемые файлы</strong></label><br><br>
<label><input type="file" name="myfile[]" class="js-fileinput" /></label>
php
$upload_file= urldecode($_FILES["myfile"]["name"][$i]);
move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],"$folder/$upload_file");
Ответы (1 шт):
Пропустите имя файла, которое вы получаете из $_FILES через функцию urldecode: $fileName = urldecode($fileName);
Если с настройками веб-сервера, с mb_internal_encoding("UTF-8") и прочим не получится, тогда сделайте так:
$fileName = mb_convert_encoding($text, 'Windows-1251', 'UTF-8'); и получите вместо таблицы нормальное отображение имени - таблицы. $text - это строка, содержащая искаженное имя файла.
Значит проблема скорее всего с редактором кода, в котором вы создавали и сохраняли файл таблицы. Он сохраняет в другой кодировке.