创建名称包含非ASCII字符的文件夹

时间:2011-09-05 15:12:19

标签: php windows

我正在使用PHP创建名称中包含非ASCII字符的文件夹。例如,Mucho gusto!,Adiós,Buenosdías。

我正在使用mkdir()功能。当我的脚本执行时,我的驱动器上创建的文件夹是一团糟。 ¡Mucho gusto!变为¡Mucho gusto!,其他名称也存在类似问题。包含PHP脚本的HTML文档的charset设置为utf-8,但Windows会破坏文件夹名称。当我在我的服务器上测试它时,文件夹名称是正确的,但本地Windows设置有问题。我使用的是Windows XP SP3。

2 个答案:

答案 0 :(得分:2)

我建议您使用Punycode对文件夹名称进行编码。由于所有常见操作系统都对文件夹名称有限制。

有一个online demo for Punycode here。还有一个PHP class is available for the automatic translation

答案 1 :(得分:1)

得到了!!我需要utf8_decode()我的路径才能使mkdir()调用警告windows xp期望并在ISO-8859-1中传递文件夹名称。