我正在使用PHP创建名称中包含非ASCII字符的文件夹。例如,Mucho gusto!,Adiós,Buenosdías。
我正在使用mkdir()
功能。当我的脚本执行时,我的驱动器上创建的文件夹是一团糟。 ¡Mucho gusto!
变为¡Mucho gusto!
,其他名称也存在类似问题。包含PHP脚本的HTML文档的charset设置为utf-8,但Windows会破坏文件夹名称。当我在我的服务器上测试它时,文件夹名称是正确的,但本地Windows设置有问题。我使用的是Windows XP SP3。
答案 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中传递文件夹名称。