php的mkdir怎么才可以在windows下创建中文目录 - PHP进阶讨论

发布网友

我来回答

4个回答

热心网友

这里有两种情况,通常我们的PHP脚本文件要么是Unicode(utf8)或者是ANSI(gbk)。gbk兼容gb2312。

如果是Unicode编码(utf8),代码里的中文和系统是两种不同的编码,与系统打交道时,如创建中文名称的文件、文件夹等,需要转换编码。

如果是ANSI编码(gbk、gb2312),代码里的中文和系统是系统的编码,不需要转换编码。

// 1、php脚本文件是Unicode编码,系统是中文系统
$dirname="temp/中文目录";
// 通过iconv进行编码转换即可
if(mkdir(iconv('utf-8', 'gbk', $dirname)))
echo "创建成功";
else
echo "创建失败";
// 2、php脚本文件是ANSI编码,系统是中文系统
$dirname="temp/中文目录";
// 不需要转换编码
if(mkdir($dirname))
echo "创建成功";
else
echo "创建失败";

请选择合适的代码片段进行测试,如果你是utf8的话,就选择代码里的第一部分。

热心网友

原帖由 于 2007-3-30 09:28 发表 [i][/url]谢谢可以了??但是在linux mkdir 创建目录就不存在这样的问题 [/b]你的linux应该是utf8的环境吧所以不会出现乱码的问题

热心网友

window系统对gb2312编码比较好,你把你的php文件改成使用gb2312编码试试

热心网友

可能会有编码冲突,不行直接用gb2312编码试试

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com