PHP上传文件名(阿拉伯语)显示文件夹中的特殊字符

PHP upload filename in arabic showing special characters in folder

提问人:Hatem Ahmed 提问时间:1/17/2018 最后编辑:Hatem Ahmed 更新时间:11/27/2019 访问量:561

问:

我正在使用 CodeIgnitor PHP 并在 IIS 服务器的文件夹中上传一个 excel 文件。 对于具有英文命名约定的文件,文件和上传正常,但是每当文件名以阿拉伯语出现时,例如:اسم ملف العينة.xls上传到文件夹后,它显示如下 اسÙ..._Ù...Ù“Ù_أعينة_1516170951.xlsx

我的数据库和页面都设置为带有元标记的 UTF-8。

我需要它在文件夹中以相同的阿拉伯语名称显示。 任何帮助!

php codeigniter utf-8 iconv mb-convert-encoding

评论

0赞 Phil 1/22/2018
“像这样显示......” 在哪里?在资源管理器中?//等的结果?scandir()glob()
0赞 Hatem Ahmed 1/22/2018
它正在保存带有上述特殊字符的文件。
0赞 Phil 1/22/2018
你能重新阅读我的问题吗?你根本没有回答
0赞 Hatem Ahmed 1/22/2018
Bro 文件保存为“Ù_أعينة_1516170951.xlsx,在调用浏览器时,它显示阿拉伯语文件名和错误未找到文件。表示文件调用正确,但保存名称格式不正确。
0赞 Phil 1/22/2018
您正在查看哪个应用程序显示不正确的文件名?

答:

0赞 Umar Farooq 11/27/2019 #1

您使用的是 Windows 操作系统。所以,你正面临这种类型的问题。

我现在也遇到了同样的问题(使用 PHP 5.3 和 Codeigniter 2)。以英文命名的文件上传得很好,我也能够下载它们。它不适用于阿拉伯语的原因,因为您使用的是 Windows 操作系统。我所知道的这与 Windows 文件系统有关,

在 uploads 文件夹中,您将看到阿拉伯语文件的文件名,例如,但如果您在 php 中运行 scandir(),如 Phil 所述,您将看到阿拉伯语名称,例如“ ”。"اسم_ملÙ_العينة_1516170951.xlsx"اسمملف العينة.xls