gpt4 book ai didi

php - mkdir UTF-8 文件名

转载 作者:搜寻专家 更新时间:2023-10-31 21:05:25 26 4
gpt4 key购买 nike

我在使用 mkdir 时遇到了一些问题

我在 windows 上使用 xampp,当我尝试创建一个 directory 时,它返回的不是应该的,例如

mkdir(JPATH_SITE.'/images/projects/'.$region_folder.'/'.$project_folder, 0777, true);

应该返回类似的东西

/images/projects/Ленинградская_область/Ленинградская_область_1

但是创建一个目录,例如:

/images/projects/Ленинградская_область/Ленинградская_область_1

是关于编码的吗?还是与操作系统有关?

最佳答案

Windows 文件名不是用 utf8 编码的,而是用 windows-1252windows-1251 或类似的东西编码的。

试试这个:

$dirname = JPATH_SITE.'/images/projects/'.$region_folder.'/'.$project_folder;
//replace "UTF-8" with the respective input charset, if it is not utf8
$dirname = iconv("UTF-8","Windows-1252",$dirname);
mkdir($dirname, 0777, true);

//if this doesnt work, try another charset like this:
$dirname = iconv("UTF-8","Windows-1251",$dirname);

//you can also use iconv on your russian variables only
//remember that you might need to change UTF-8 to another input charset
$region_folder = iconv("UTF-8","Windows-1251",$region_folder);
$project_folder = iconv("UTF-8","Windows-1251",$project_folder);

在这里阅读更多关于 iconv 的信息:PHP iconv()

也可用于检测您的字符集编码:mb_detect_encoding()

关于php - mkdir UTF-8 文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33299404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com