Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mengeluarkan Tanda Pesanan Byte (BOM) daripada Fail UTF-8?

Bagaimana untuk Mengeluarkan Tanda Pesanan Byte (BOM) daripada Fail UTF-8?

Linda Hamilton
Lepaskan: 2024-12-17 10:28:24
asal
1048 orang telah melayarinya

How to Remove Byte Order Marks (BOMs) from a UTF-8 File?

Cara Mengeluarkan Tanda Pesanan Bait (BOM) dari Permulaan Fail

Masalah:

Anda menghadapi masalah dengan fail CSS yang mengandungi aksara tidak kelihatan, dilambangkan dengan , yang mengganggu fungsinya yang betul apabila dibaca oleh PHP. Fail disimpan dalam pengekodan UTF-8, tetapi mengalih keluar aksara secara manual adalah mencabar.

Jawapan:

Aksara yang anda perhatikan dikenali sebagai Byte Order Marks ( BOM). BOM ialah aksara Unicode yang menunjukkan susunan bait (endianness) fail. Dalam kes ini, BOM UTF-8 menandakan bahawa fail menggunakan pengekodan UTF-8.

Penyelesaian:

  • Lumpuhkan BOM dalam Editor: Konfigurasikan editor anda untuk tidak memasukkan BOM semasa menyimpan fail. Dalam sesetengah editor, anda mungkin menemui tetapan yang berkaitan dengan "BOM."
  • Strip BOM dengan awk: Gunakan utiliti baris arahan awk untuk mengalih keluar BOM daripada fail:
awk 'sub(/^\xEF\xBB\xBF/, "")' input.css > output.css
Salin selepas log masuk
  • Kendalikan BOM dalam PHP: Tetapkan dalaman PHP pengekodan kepada UTF-8 untuk mengabaikan BOM semasa membaca fail:
<?php
mb_internal_encoding('UTF-8');
// Read and process CSS files
mb_internal_encoding('previous encoding'); // Restore previous encoding
?>
Salin selepas log masuk

Nota:

  • Pengekodan ISO-8859-15 tidak boleh mewakili UTF-8 BOM, jadi menyimpan fail dalam format itu akan mengakibatkan kehilangan data.
  • Tamat talian (Windows vs. Linux) seharusnya tidak menjejaskan pengesanan BOM.

Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Tanda Pesanan Byte (BOM) daripada Fail UTF-8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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