PHP Laravel проблема кодирования с именем загруженного файла - PullRequest
0 голосов
/ 28 апреля 2020

Иногда возникают проблемы с моим приложением Laravel при загрузке файлов с umlauts в их имени файла. Поэтому я хотел бы преобразовать имена файлов перед загрузкой (например, Ä становится Ae). Это было бы очень легко с простым str_replace. Однако, кажется, что есть некоторые проблемы с кодировкой загруженного имени файла. Чтобы локализовать точную проблему, я попробовал следующие вещи.

echo $file->getClientOriginalName(); выводит Änderung.pdf

Однако следующие строки возвращают false:

if ($file->getClientOriginalName() == "Änderung.pdf") {
  return true;
else {
  return false;
}

Когда я выводю каждый символ $file->getClientOriginalName(); Похоже, Андерунг. pdf

Но mb_detect_encoding($file->getClientOriginalName()); выводит UTF-8.

Кажется, что имя файла - UTF-8 и может выводить умляуты, однако имя файла Ä не является реальным Ä. Не могли бы вы помочь мне решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...