Bagaimana untuk membuang Pengekodan BOM daripada Fail CSV dalam PHP?

Mary-Kate Olsen
Lepaskan: 2024-11-04 15:39:02
asal
798 orang telah melayarinya

How to Remove BOM Encoding from CSV Files in PHP?

Mengalih keluar BOM () daripada Fail .csv yang Diimport

Apabila mengimport fail .csv, kehadiran Tanda Pesanan Byte (BOM) boleh menyebabkan isu pengekodan . Berikut ialah penyelesaian komprehensif untuk mengalih keluar BOM daripada fail .csv yang diimport:

Isu:

Berjuang untuk mengalih keluar BOM menggunakan preg_replace atau str_replace.

Percubaan Kod:

<code class="php">$filepath = get_bloginfo('template_directory')."/testing.csv";
// ...
$file = fopen($filepath, "r") or die("Error opening file");
// ...</code>
Salin selepas log masuk

Penyelesaian:

  1. Gunakan fungsi file_get_contents() dan file_put_contents() untuk membaca dan menulis ganti fail dengan BOM dialih keluar:
<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>
Salin selepas log masuk
  1. Gunakan fungsi tersuai untuk mengesan dan mengalih keluar 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>
Salin selepas log masuk
  1. Buka semula fail dan proseskannya seperti sebelum ini.

Nota:

Fungsi FILE_PUT_CONTENTS menutup fail secara automatik, jadi tidak perlu menutupnya secara manual dengan fclose().

Dengan melaksanakan penyelesaian ini, anda boleh berjaya mengalih keluar BOM daripada fail .csv yang diimport dan memastikan penghuraian data yang betul.

Atas ialah kandungan terperinci Bagaimana untuk membuang Pengekodan BOM daripada Fail CSV dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!