例如,我有一个这样的文件名-проба.xml,但无法从PHP脚本中打开它。
如果我将php脚本设置为utf-8,则脚本中的所有文本均为utf-8,因此当我将其传递给file_get_contents时:
$fname = "проба.xml"; file_get_contents($fname);
我收到文件不存在的错误。这样做的原因是,在Windows(XP)中,所有带有非拉丁字符的文件名都是Unicode(UTF-16)。好,所以我尝试了这个:
$fname = "проба.xml"; $res = mb_convert_encoding($fname,'UTF-8','UTF-16'); file_get_contents($res);
但是错误仍然存在,因为file_get_contents无法接受unicode字符串…
有什么建议么?
到目前为止,这些结论是:
因此,结论在PHP 5中不可行。