PHP переименовать файл, который имеет нераспознанный характер - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь переименовать файл,

Этот файл сгенерирован unizp zip-файлом, но файл имеет странный символ

Lieferungen und R�cklieferungen_RvP_2019_02_04.csv

, мы не можем контролироватьэтот персонаж, потому что мы получаем ZIP-файл от третьего лица.

этот символ ü , но при распаковке с использованием php-кода он показывает этот странный символ.

Я пытался использовать этот код

$files = glob("/xxxxmyfullpath/unzipped/*.csv");
echo $numfiles = count($files);

if ($numfiles == 1) {
  // Rename it
  echo $files[0];
  rename($files[0], "testing.csv");
}

, но glob , похоже, не идентифицирует файл.

кто-нибудь знает, как удалить этот нераспознанный символ из имени файла, пожалуйста

1 Ответ

0 голосов
/ 15 февраля 2019

Имя файла закодировано, вероятно, Windows-1252, Западная Европа, но ваш терминал, вероятно, использует UTF-8.� = ü = ü Латинская строчная буква u с диарезом.Если ваши $ numfiles больше 1, ваш код переименования не будет работать вообще.Если имя вашего извлеченного файла содержит недопустимые символы, оно не будет отображаться как глобус.Прежде чем разархивировать свой архив, вы должны перейти на устаревшую кодовую страницу.Попробуйте: setlocale (LC_ALL, 'C');а затем попробуйте запустить свой код.

...