不幸的是,我允许用户将文件上传到服务器而无需先清理其名称(Linux、PHP、MySQL)。
上传的文件名之一是“ E_M_20-06-2013_14-15_ComidasTípicas.zip ”(在 MySQL 数据库中是正确的,UTF-8 编码)。
但是当我尝试在 PHP 中执行 fopen() 时,我找不到这个文件。根据语言环境(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,没有成功。
提前致谢!