首頁  >  文章  >  後端開發  >  如何在 PHP 中從 CSV 檔案中刪除 BOM 編碼?

如何在 PHP 中從 CSV 檔案中刪除 BOM 編碼?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-04 15:39:02799瀏覽

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_getgetcontents()_file_getgetcom)函數讀取並以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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn