【发布时间】:2014-05-17 20:11:48
【问题描述】:
标签: php encoding utf-8 character-encoding
标签: php encoding utf-8 character-encoding
尝试像这样将文件名转换为cp1252:
if (file_exists(iconv('utf-8', 'cp1252', $utffilename)));
【讨论】:
这是我在 5.3.x/Ubuntu 的控制台环境中尝试过的:
<?php
$file = 'Español.doc';
echo file_get_contents($file);
该文件包含单词“Hello”,并且可以正常打印到屏幕上。因此,我认为可以肯定地说,即使是旧版本的 PHP 也支持 UTF-8 文件名。
问题可能是 Windows 上的 PHP 行为不同吗?也可以在控制台中试试这个。
另外,请检查您的浏览器以查看它使用的渲染模式。对于 Firefox,使用查看页面信息并检查常规选项卡中的编码。
【讨论】:
glob 或目录迭代器),那么也许使用 iconv 将 UTF-16 转换为 UTF-8?