Heim >Backend-Entwicklung >PHP-Tutorial >Wie entferne ich Byte Order Marks (BOMs) aus einer UTF-8-Datei?

Wie entferne ich Byte Order Marks (BOMs) aus einer UTF-8-Datei?

Linda Hamilton
Linda HamiltonOriginal
2024-12-17 10:28:24944Durchsuche

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

So entfernen Sie Byte Order Marks (BOMs) vom Anfang einer Datei

Problem:

Sie haben ein Problem mit einer CSS-Datei, die unsichtbare Zeichen (gekennzeichnet durch ) enthält, die beim Lesen durch PHP die ordnungsgemäße Funktion beeinträchtigen. Die Datei wird in UTF-8-Kodierung gespeichert, aber das manuelle Entfernen der Zeichen ist eine Herausforderung.

Antwort:

Die Zeichen, die Sie beobachten, werden als Byte Order Marks ( Stücklisten). Eine Stückliste ist ein Unicode-Zeichen, das die Bytereihenfolge (Endianness) einer Datei angibt. In diesem Fall bedeutet die UTF-8-Stückliste, dass die Datei UTF-8-Kodierung verwendet.

Lösungen:

  • Stücklisten im Editor deaktivieren: Konfigurieren Sie Ihren Editor so, dass beim Speichern von Dateien keine Stücklisten eingefügt werden. In einigen Editoren finden Sie möglicherweise eine Einstellung im Zusammenhang mit „Stückliste“.
  • Stücklisten mit awk entfernen: Verwenden Sie das awk-Befehlszeilenprogramm, um Stücklisten aus der Datei zu entfernen:
awk 'sub(/^\xEF\xBB\xBF/, "")' input.css > output.css
  • Stücklisten in PHP verarbeiten: Stellen Sie die interne PHP-Kodierung auf ein UTF-8 zum Ignorieren von Stücklisten beim Lesen von Dateien:
<?php
mb_internal_encoding('UTF-8');
// Read and process CSS files
mb_internal_encoding('previous encoding'); // Restore previous encoding
?>

Hinweis:

  • Die ISO-8859-15-Kodierung kann die UTF- nicht darstellen. 8 BOM, daher führt das Speichern der Datei in diesem Format zu Datenverlust.
  • Zeilenenden (Windows vs. Linux) sollten keine Auswirkungen haben Stücklistenerkennung.

Das obige ist der detaillierte Inhalt vonWie entferne ich Byte Order Marks (BOMs) aus einer UTF-8-Datei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn