Heim  >  Artikel  >  Backend-Entwicklung  >  Was tun, wenn php+fread() verstümmelt ist?

Was tun, wenn php+fread() verstümmelt ist?

藏色散人
藏色散人Original
2023-01-18 10:21:471477Durchsuche

php+fread() verstümmelter Code liegt daran, dass die Kodierung der Ausgabeseite nicht mit der Kodierung der gelesenen Datei übereinstimmt. Die Lösung: 1. Öffnen Sie die entsprechende PHP-Datei. 2. Lesen Sie die Datei über die Funktion fread. Durch die Methode „iconv('gbk', 'utf-8', $data)“ wird der gelesene Inhalt transkodiert.

Was tun, wenn php+fread() verstümmelt ist?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, PHP-Version 8.1, DELL G3-Computer

Was soll ich tun, wenn php+fread() verstümmelt ist?

In PHP werden Dateien direkt über die fread-Funktion gelesen. Wenn der Dateiinhalt auf chinesische Zeichen stößt, wird das Problem verstümmelt.

Möglicherweise stimmt die Kodierung der Ausgabeseite nicht mit der Kodierung der gelesenen Datei überein.

Lösung:

Versuchen Sie, den Inhalt nach dem Lesen zu transkodieren

iconv('gbk', 'utf-8', $data)

Zugehörige Einführung:

iconv

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8 )

iconv – Konvertieren Sie die Zeichenfolge entsprechend der erforderlichen Zeichenkodierung

Beschreibung

iconv(string $in_charset, string $out_charset, string $str): string

Konvertieren Sie die Zeichenfolge str von in_charset in out_charset.

Parameter

in_charset

Eingabezeichensatz.

out_charset

Zeichensatz für die Ausgabe.

Wenn Sie nach out_charset die Zeichenfolge //TRANSLIT hinzufügen, wird die Transliterationsfunktion aktiviert. Das heißt, wenn ein Zeichen nicht durch den Zielzeichensatz dargestellt werden kann, kann es durch ein oder mehrere ähnliche Zeichen angenähert werden. Wenn Sie die Zeichenfolge //IGNORE hinzufügen, werden Zeichen, die nicht im Zielzeichensatz ausgedrückt werden können, stillschweigend verworfen. Andernfalls wird ein E_NOTICE ausgelöst und false zurückgegeben.

warning

//TRANSLIT 运行细节高度依赖于系统的 iconv() 实现(参见 ICONV_IMPL)。 据悉,某些系统上的实现会直接忽略 //TRANSLIT,所以转换也有可能失败,out_charset 会是不合格的。

str

Die zu konvertierende Zeichenfolge.

Rückgabewert

Gibt die konvertierte Zeichenfolge zurück oder gibt bei einem Fehler false zurück.

fread()

fread()-Funktion liest eine geöffnete Datei.

Die Funktion stoppt die Ausführung, wenn sie die angegebene Länge oder das Ende der Datei (EOF) erreicht (je nachdem, was zuerst eintritt).

Diese Funktion gibt die gelesene Zeichenfolge zurück oder FALSE, wenn sie fehlschlägt.

Syntax

string fread ( resource $handle , int $length )

Parameter

handle Der Dateisystemzeiger ist eine Ressource, die normalerweise von fopen() erstellt wird.

Länge Erforderlich. Gibt die maximale Anzahl der zu lesenden Bytes an.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas tun, wenn php+fread() verstümmelt ist?. 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