Heim > Artikel > Backend-Entwicklung > Konvertierung der PHP-Zeichenkodierung
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.
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
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!