首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >mkdir UTF-8文件名

mkdir UTF-8文件名
EN

Stack Overflow用户
提问于 2015-10-23 09:47:01
回答 1查看 3.4K关注 0票数 4

我对mkdir有点意见

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

代码语言:javascript
运行
复制
mkdir(JPATH_SITE.'/images/projects/'.$region_folder.'/'.$project_folder, 0777, true);

应该返回类似的东西

代码语言:javascript
运行
复制
/images/projects/Ленинградская_область/Ленинградская_область_1

但是创建一个directory,如:

代码语言:javascript
运行
复制
/images/projects/Ленинградская_область/Ленинградская_область_1

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-23 09:53:40

Windows文件名不是用utf8编码的,而是在windows-1252windows-1251中编码的。

试试这个:

代码语言:javascript
运行
复制
$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的信息:()

对于检测字符集编码也很有用:编码()

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33299404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档