Php mkdir UTF-8文件名
我对Php mkdir UTF-8文件名,php,Php,我对mkdir 我在windows上使用xampp,当我尝试创建目录时,它返回的结果与示例中的不一样 mkdir(JPATH_SITE.'/images/projects/'.$region_folder.'/'.$project_folder, 0777, true); 应该返回类似于 /images/projects/Ленинградская_область/Ленинградская_область_1 但是创建一个目录,如: /images/projects/ЛенинР
mkdir
我在windows
上使用xampp
,当我尝试创建目录
时,它返回的结果与示例中的不一样
mkdir(JPATH_SITE.'/images/projects/'.$region_folder.'/'.$project_folder, 0777, true);
应该返回类似于
/images/projects/Ленинградская_область/Ленинградская_область_1
但是创建一个目录
,如:
/images/projects/Ленинградская_область/Ленинградская_область_1
是关于编码的?或者与操作系统有关?Windows文件名不是用utf8编码的,而是用
Windows-1252
或Windows-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的更多信息:
检测字符集编码也很有用:事实上,仅适用于$region\u folder=iconv(“UTF-8”、“Windows-1251”、“$region\u folder”)$project_folder=iconv(“UTF-8”、“Windows-1251”、“$project_folder”);够了!谢谢你