К сожалению, я разрешил пользователям загружать файлы на сервер, не сначала дезинфицируя свои имена (Linux, PHP, MySQL).Как открыть этот файл?
Один из загруженного файла является «E_M_20-06-2013_14-15_ComidasTípicas.zip» (это правильно в базе данных MySQL, UTF-8 кодируются).
Но когда я пытаюсь сделать fopen() в PHP, я не могу найти этот файл. В зависимости от локализации (LANG) я получить различные имена файлов, как таковой:
$ export LANG=pt_BR.UTF-8
$ ls ../web/downloads/E_M_20-06-2013_14-15_ComidasT*
../web/downloads/E_M_20-06-2013_14-15_ComidasTÃpicas.zip
$ export LANG=pt_BR.ISO-8859-1
$ ls ../web/downloads/E_M_20-06-2013_14-15_ComidasT*
../web/downloads/E_M_20-06-2013_14-15_ComidasT▒?picas.zip
$ export LANG=C
$ ls ../web/downloads/E_M_20-06-2013_14-15_ComidasT*
../web/downloads/E_M_20-06-2013_14-15_ComidasT????picas.zip
Может кто-нибудь мне помочь в раскрытии, как я могу открыть этот файл с помощью PHP?
PS: Конечно, я пробовал utf8_encode, utf8_decode, no sucess.
Заранее благодарен!
Какое кодирование ваш файл PHP в? Как вы 'fopen()' файл, откуда берется имя файла? –