我使用的是Windows 8中文版,与此同时我也遇到类似的问题:
$filename = iconv("utf-8", "cp936", $filename);cp代表
Code page并
cp936代表Code page
936,这是Windows简体中文版的默认代码页。
所以我认为也许您的问题可以通过类似的方式解决:
$fn2 = iconv("UTF-8","cp1258", $base_dir.$fn);我不太确定您的操作系统的默认代码页是否正确
1258,您应该通过打开命令提示符并键入command来进行自我检查
chcp。然后更改
1258为命令给您的内容。
更新
PHP文件系统功能似乎只能处理系统代码页中的字符。因此,您在这里有2个选择:
将文件名中的字符限制为系统代码页-在您的情况下为
437
。但是我很确定代码页437不包含所有越南语字符。将系统代码页更改为越南语:
1258
将文件名转换为cp1258
。然后,文件系统功能应该起作用。
两种选择都是不足的:
选择1:您不能再使用越南语字符,这不是您想要的。
选择2:您必须更改系统代码页,并且文件名字符仅限于代码页1258。
更新
如何更改系统代码页:
转到
Control Panel>
Region>
Administrative>
Changesystemlocale,并选择
Vietnamese(Vietnam)在下拉菜单中。



