问题的意思差不多。我发现了很多关于如何在读入文本后去除字节顺序标记的建议,但这似乎是错误的。语言中是否没有一种标准方法可以通过正确识别和处理 BOM 来读取 Unicode 文件?
最佳答案
遇到了同样的问题。我的函数 _fread() 将删除 bom 并解决了 问题对我来说...
/**
* Read local file
* @param file local filename
* @return Data from file, or false on failure
*/
function _fread ($file = null) {
if ( is_readable($file) ) {
if ( !($fh = fopen($file, 'r')) ) return false;
$data = fread($fh, filesize($file));
// remove bom
$bom = pack('H*','EFBBBF');
$data = preg_replace("/^$bom/", '', $data);
fclose($fh);
return $data;
}
return false;
}
关于php - 如何使用 PHP 读取 UTF8+BOM 文件而不将 BOM 显示为内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28248518/