如何在 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_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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!