Heim  >  Artikel  >  Backend-Entwicklung  >  Konvertierung der PHP-Zeichenkodierung

Konvertierung der PHP-Zeichenkodierung

不言
不言Original
2018-03-29 12:46:0518776Durchsuche

In diesem Artikel wird hauptsächlich die Methode zur Konvertierung der PHP-Zeichenkodierung vorgestellt. Ich hoffe, dass sie Ihnen helfen kann.

iconv – Zeichenfolge in die angeforderte Zeichenkodierung konvertieren (PHP 4 >= 4.0.5, PHP 5)

mb_convert_encoding – Zeichenkodierung konvertieren (PHP 4 >= 4.0.6, PHP 5 )

Verwendung:
string mb_convert_encoding ( string str, string to_encoding [, gemischt from_encoding] )
Sie müssen zuerst die mbstring-Erweiterungsbibliothek aktivieren und vor hinzufügen; extension=php_mbstring.dll php.ini ; Entfernen


string iconv ( string in_charset, string out_charset, string str )
Hinweis:
Zusätzlich zur Angabe der zu konvertierenden Codierung kann auch der zweite Parameter angegeben werden Fügen Sie zwei Suffixe hinzu: //TRANSLIT und //IGNORE,
Unter ihnen:
//TRANSLIT konvertiert automatisch Zeichen, die nicht direkt in ein oder mehrere ungefähre Zeichen umgewandelt werden können,
//IGNORE ignoriert Zeichen, die Die zu konvertierenden Zeichen können nicht direkt konvertiert werden. Der Standardeffekt besteht darin, ab dem ersten unzulässigen Zeichen abzuschneiden.
Gibt die konvertierte Zeichenfolge oder FALSE zurück, wenn ein Fehler auftritt:
1. Es wurde festgestellt, dass iconv beim Konvertieren des Zeichens „-“ in gb2312 einen Fehler macht , alle Zeichen nach diesem Zeichen Keine der Zeichenfolgen kann gespeichert werden. Egal was passiert, diese

„-“ können nicht erfolgreich konvertiert und nicht ausgegeben werden. Darüber hinaus weist mb_convert_encoding diesen Fehler nicht auf. mb_convert_encoding kann anhand des Inhalts automatisch mehrere Eingabecodierungen angeben, aber die Ausführungseffizienz ist viel schlechter als bei iconv
mb_convert_encoding($str ,"euc-jp","ASCII,JIS,EUC-JP,SJIS,UTF-8");Die Reihenfolge von "ASCII,JIS,EUC-JP,SJIS,UTF-8" ebenfalls hat unterschiedliche Auswirkungen

Unterschied
3. Verwenden Sie im Allgemeinen iconv. Nur wenn Sie die ursprüngliche Codierung nicht bestimmen können oder wenn iconv nach der Konvertierung nicht normal angezeigt werden kann, verwenden Sie die Funktion mb_convert_encoding

.
from_encoding wird vor der Konvertierung durch ein Array oder eine Zeichenfolge angegeben.

Aufzählungsliste wird verwendet
$str = mb_convert_encoding($ str, "UCS-2LE", "JIS, eucjp-win, sjis-win");

$str = mb_convert_encoding($str, "EUC-JP', "auto");

Beispiel:
$content = iconv("GBK", "UTF-8", $content);
$content = mb_convert_encoding($content, "UTF-8 ", "GBK");





Fazit


1. mb_convert_encoding() Diese Funktion identifiziert automatisch die Codierung basierend auf Inhalt, aber die Ausführungseffizienz ist schlechter als bei iconv; 2. Dann gibt es ein Sprichwort, dass iconv() beim Konvertieren einiger Zeichen abnormal sein wird. Es gibt ein Sprichwort: Es wird festgestellt, dass iconv einen Fehler macht Beim Konvertieren des Zeichens „-“ in gb2312 können alle Zeichen nach diesem Zeichen nicht gespeichert werden. Dieses „-“ kann außerdem nicht erfolgreich konvertiert werden hat diesen Fehler nicht.

3. mb_convert_encoding() ist eine PHP-Erweiterungsfunktion und muss aktiviert werden, um die Erweiterungsbibliothek verwenden zu können. Es handelt sich um eine integrierte Funktion in PHP und kann ohne Öffnen einer zusätzlichen Erweiterungsbibliothek verwendet werden .

4. Unter normalen Umständen wird iconv nur verwendet, wenn die ursprüngliche Codierung nicht ermittelt werden kann oder iconv nach der Konvertierung nicht normal angezeigt werden kann.

Verwandte Empfehlungen:


So lösen Sie verstümmelten Code bei der Konvertierung der PHP-Codierung

Beispiel für die Konvertierung der PHP-Array-Codierung

Analyse der Konvertierung der PHP-Codierung

Das obige ist der detaillierte Inhalt vonKonvertierung der PHP-Zeichenkodierung. 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
Vorheriger Artikel:Grundlegende Lernroute von PHPNächster Artikel:Grundlegende Lernroute von PHP