PHP UTF-8文件命名(波斯语名称)


PHP UTF-8 file naming (Persian name)

我使用以下代码来构建文件夹:

$dir = 'فارسی';
mkdir($dir);

但是创建的文件夹名称转换为ظپط§ط±ط³غŒ


上传文件中也存在这个问题。我上传了فارسی.jpg,但它转换为ظپط§ط±ط³غŒ.jpg


此问题仅存在于本地主机。

对于Windows,解决方案是将文件名/文件夹名称转换为Windows-1252编码:

$dir = 'فارسی';
$dir = iconv(mb_detect_encoding($dir, "auto"), 'Windows-1252', $string);
mkdir($dir);

我相信这就是为什么错误发生在本地主机上而从未在服务器上的原因:服务器可能使用Linux