Heim  >  Artikel  >  php教程  >  PHP-Kodierungskonvertierung-Zeichenkodierungskonvertierung

PHP-Kodierungskonvertierung-Zeichenkodierungskonvertierung

黄舟
黄舟Original
2016-12-15 11:16:172313Durchsuche

Stellt ein großes Kodierungsproblem dar. Dies ist ein Problem bei der Arbeit mit Flash-Effekten. Nachfolgend stellen wir N Arten von PHP-Kodierungskonvertierungs- und Zeichenkodierungskonvertierungsfunktionen vor. Schauen Sie sich das ohne weiteres an.

Die beiden obigen VB-Codeteile wurden in UTF-8 (UTF8ENCODEURI) bzw. GB2312 (GBKENCODEURI) konvertiert.

Private sub commit1_click ()

Debug.print (UTF8NCODEURI („chinesische Schriftzeichen“))
Debug.print (gbkencodeuri („chinesische Schriftzeichen“))
End Sub

FUNCTION UTF8ENCODEURI(SZINPUT)
DIM WCH, UCH, SZRET
DIM SZINPUT
EXIT FUNCTION
END IF

FOR X = 1 TO LEN(SZINPUT)
WCH = MID(SZINPUT, >
WENN NASC < 0 DANN NASC = NASC + 65536

WENN (NASC UND &HFF80) = 0 DANN

SZRET = SZRET & WCH
ELSE
WENN (NASC UND &HF000 ) = 0 dann else

uCh = "%" & hex ((nasc 2 ^ 12) oder & hE0) & "%" & _

hex ((nasc 2 ^ 6) und & h3f oder & h80) & "% " & _

      HEX(NASC AND &H3F OR &H80)

SZRET = SZRET & UCH
END IF
END IF
NEXT


iconv() function
Definition und Verwendung
Definition und Verwendung
Die Funktion der iconv()-Funktion besteht darin, die Codierung von Zeichenfolgen zu konvertieren.

Beschreibung
string iconv (string in_charset, string out_charset, string str)

Tipps und Hinweise

Hinweise
Hinweis: Der zweite Parameter, zusätzlich zur Angabe von Zusätzlich Zur zu konvertierenden Kodierung können Sie auch zwei Suffixe hinzufügen: //TRANSLIT und //IGNORE. //TRANSLIT wandelt Zeichen, die nicht direkt konvertiert werden können, automatisch in ein oder mehrere ungefähre Zeichen um. //IGNORE ignoriert Zeichen, die nicht direkt konvertiert werden können Die zu konvertierenden Zeichen werden standardmäßig abgeschnitten.

mb_convert_encoding()-Funktion
Definition und Verwendung

Definition und Verwendung

Die Rolle der mb_convert_encoding()-Funktion besteht darin, die Codierung einer Zeichenfolge zu konvertieren.

Beschreibung

string mb_convert_encoding ( string str, string to-encoding [, Mixed from-encoding])

Hinweis: Sie müssen jedoch zuerst die mbstring-Erweiterungsbibliothek aktivieren.

Der Unterschied zwischen den beiden: mb_convert_encoding identifiziert die Codierung automatisch anhand des Inhalts; mb_convert_encoding ist leistungsstark, aber seine Ausführungseffizienz ist viel schlechter als iconv;


Zusammenfassung: iconv wird im Allgemeinen nur verwendet, wenn das Original verwendet wird Kodierung kann nicht ermittelt werden. Welche Kodierung zur Verwendung der Funktion „mb_convert_encoding“ verwendet werden soll.

1. Konvertieren Sie die GBK-kodierte Zeichenfolge in eine UTF-8-kodierte Zeichenfolge header("content -Type: text/html; charset=Utf-8");

echo mb_convert_encoding("Du bist mein guter Freund", "UTF-8", "GBK");


2. UTF-8-codierte Zeichenfolge in GB2312-codierte Zeichenfolge konvertieren, in Zwischenablage drucken?
// Bitte speichern Sie diese Datei als UTF-8-codierte Formatdatei und testen Sie sie erneut
<
header("content-Type: text/html; charset=gb2312");
echo mb_convert_encoding("Du bist mein guter Freund", "gb312", "utf-8"); ;

Quelle: fleaphp.net
mb_convert_encoding ist eine PHP-interne Multibyte-String-Kodierungskonvertierungsfunktion, die in notwendigen Situationen verwendet werden kann (z. B. zur Lösung des Problems der GB2312-Kodierung). von verstümmelten chinesischen Zeichen, die durch die Verwendung von Ajax in der Umgebung verursacht werden) erleichtert die Codierungskonvertierung, um das Problem verstümmelter Webseiten zu lösen. Es ist sehr praktisch und sehr effizient.
unterstützt fast alle Codierungen. PHP 4 >= 4.0.6, PHP 5-Versionen werden unterstützt.

Funktionsprototyp: Referenz:

/**
* Multi-Byte-String-Kodierungskonvertierungsfunktion
*
* @param string str String, der eine Kodierungskonvertierung benötigt
* @ param string to_encoding gibt die Konvertierung in eine bestimmte Codierung an, z. B. gb2312, gbk, utf-8 usw. sjis gleichzeitig -win gemischte Kodierung
* @return string
string mb_convert_encoding (string str, string to_encoding [, Mixed from_encoding]) Anwendungsbeispiel:

1. GBK-kodierte Zeichenfolge in UTF konvertieren -8 Kodierung String-Ansicht in Zwischenablage kopieren?

header("content-Type: text/html; charset=Utf-8");
echo mb_convert_encoding("Du bist mein guter Freund " , "UTF-8", "GBK"); 
?>

2. Konvertieren Sie UTF-8-codierte Zeichenfolgen in GB2312-codierte Zeichenfolgen um diese Datei als UTF-8-Kodierungsformatdatei zu speichern und sie dann zu testen

header("content-Type: text/html; charset=gb2312");
echo mb_convert_encoding(" you Du bist mein guter Freund“, „gb312“, „utf-8“);
?>

// Bitte speichern Sie diese Datei als UTF-8-Kodierungsformatdatei und testen Sie sie erneut
3 Konvertierung der gesamten Seite

Diese Methode ist auf alle Codierungsumgebungen anwendbar. Auf diese Weise wird der Zeichensatz außer den ersten 128 Zeichen (Anzeigezeichen) durch NCR dargestellt (Numerische Zeichenreferenzen wie „chinesische Zeichen“ werden in die Form „汉字“ umgewandelt). Diese Codierung ist Die Seite kann in jeder Codierungsumgebung normal angezeigt werden.


Fügen Sie die folgenden drei Codezeilen zum Kopf der PHP-Datei hinzu: view plaincopy to clipboardprint?
mb_internal_encoding("gb2312"); // gb2312 hier ist die Originalkodierung Ihrer Website

mb_http_output( "HTML-ENTITIES");

ob_start('mb_output_handler');

mb_internal_encoding("gb2312"); // gb2312 hier ist die Originalkodierung Ihrer Website mb_http_output("HTML-ENTITIES" ); ob_start('mb_output_handler');
Die Verwendung der Funktion mb_convert_encoding erfordert die Aktivierung der PHP-Erweiterung mbstring (Multibyte-String).

Sehen Sie sich die PHP-Informationsseite an, wenn der folgende Bildschirm erscheint:
2008-10-16_111050.png (137,62 KB)

2008-10-16 12:01


dann Dies bedeutet, dass die Unterstützung der mbstring-Erweiterung (Multibyte-String) aktiviert ist.

Wenn der obige Bildschirm nicht angezeigt wird, müssen Sie die folgenden Einstellungen vornehmen, damit PHP diese Erweiterung unterstützen kann.

1. Windows-Serverumgebung

Bearbeiten Sie die Datei php.ini, entfernen Sie das ; vor der Erweiterung=php_mbstring.dll und starten Sie den Webserver neu.

2. Linux-Serverumgebung

Fügen Sie beim Kompilieren der Konfiguration den Kompilierungsparameter --enable-mbstring=cn hinzu und kompilieren und installieren Sie dann PHP.

Das Obige ist der Inhalt der PHP-Kodierungskonvertierung – Zeichenkodierungskonvertierung. Weitere verwandte Artikel finden Sie auf der chinesischen PHP-Website (www.php.cn)!

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