如何打开此文件



不幸的是,我允许用户上传文件到服务器,而无需首先清除其名称(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打开这个文件吗?

附言:当然,我试过utf8_encode,utf8_decode,没有成功。

提前感谢!

编写一个脚本,查找文件并重命名没有损坏字符(非字母数字和下划线)的文件

检查scandir以查找文件http://php.net/manual/en/function.scandir.php

检查此线程以查找非字母数字字符PHP正则表达式-删除所有非字母数字的字符

因此,您将获得干净的文件名和写入数据库的内容。如果需要,您也可以对数据库字段执行相同的操作。

请尝试使用:

$ export LANG=en_US.UTF-8

这意味着在php:中

setlocale(LC_ALL, 'en_US.UTF8');

相关内容

  • 没有找到相关文章

最新更新