如何在 PHP 中从 CSV 文件中删除 BOM 编码?

Mary-Kate Olsen
发布: 2024-11-04 15:39:02
原创
798 人浏览过

How to Remove BOM Encoding from CSV Files in PHP?

从导入的 .csv 文件中删除 BOM ()

导入 .csv 文件时,字节顺序标记 (BOM) 的存在可能会导致编码问题。以下是从导入的 .csv 文件中删除 BOM 的全面解决方案:

问题:

难以使用 preg_replace 或 str_replace 删除 BOM。

代码尝试:

<code class="php">$filepath = get_bloginfo('template_directory')."/testing.csv";
// ...
$file = fopen($filepath, "r") or die("Error opening file");
// ...</code>
登录后复制

解决方案:

  1. 使用 file_get_contents() 和 file_put_contents() 函数读取和覆盖文件删除 BOM 后:
<code class="php">// Read the file contents
$content = file_get_contents($filepath);

// Remove the BOM
$content = str_replace("\xEF\xBB\xBF",'', $content);

// Overwrite the file with the updated content
file_put_contents($filepath, $content);</code>
登录后复制
  1. 使用自定义函数检测并删除 BOM:
<code class="php">function removeBomUtf8($s){
  if(substr($s,0,3)==chr(hexdec('EF')).chr(hexdec('BB')).chr(hexdec('BF'))){
       return substr($s,3);
   }else{
       return $s;
   }
}</code>
登录后复制
  1. 重新打开文件并

注意:

FILE_PUT_CONTENTS 函数会自动关闭文件,因此无需使用 fclose() 手动关闭它。

通过实施这些解决方案,您可以成功从导入的 .csv 文件中删除 BOM,并确保正确的数据解析。

以上是如何在 PHP 中从 CSV 文件中删除 BOM 编码?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!