Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erläuterung der Anwendungsbeispiele für die PHP-Codierungskonvertierungsfunktion skills_php

Detaillierte Erläuterung der Anwendungsbeispiele für die PHP-Codierungskonvertierungsfunktion skills_php

WBOY
WBOYOriginal
2016-12-05 13:28:131189Durchsuche

Es gibt eine große Anzahl von Funktionen in PHP, die unsere Anwendungsanforderungen unterstützen. Bei der unten vorgestellten Funktion geht es um die PHP-Kodierungskonvertierungsfunktion. Ich hoffe, es hilft allen. Die Funktion mb_convert_encoding ist die interne Konvertierungsfunktion für die Multibyte-String-Kodierung von PHP.

Kann in notwendigen Situationen verwendet werden (z. B. zur Lösung des Problems verstümmelter chinesischer Zeichen, das durch die Verwendung von Ajax in der GB2312-Codierungsumgebung verursacht wird), um die Codierungskonvertierung zu erleichtern und das Problem verstümmelter Webseiten zu lösen effizient. Es werden fast alle Kodierungen unterstützt. PHP 4 >= 4.0.6, PHP 5-Versionen werden unterstützt.

Prototyp der PHP-Kodierungskonvertierungsfunktion:

/**
* Konvertierungsfunktion für Multibyte-String-Kodierung
*
* @param string str Die Zeichenfolge, die codiert und konvertiert werden muss
* @param string to_encoding gibt die Konvertierung in eine bestimmte Kodierung an
, wie zum Beispiel: gb2312, gbk, utf-8 usw.
* @param gemischt from_encoding Mischen Sie die Codierung der angegebenen Originalzeichenfolge
, wie zum Beispiel: Geben Sie gleichzeitig die gemischte Codierung JIS, eucjp-win und sjis-win an
* @return string
string mb_convert_encoding ( string str, string to_encoding [, gemischt from_encoding] )

Beispiel für die Verwendung der PHP-Kodierungskonvertierungsfunktion:

1. Konvertieren Sie eine GBK-codierte Zeichenfolge in eine UTF-8-codierte Zeichenfolge

< &#63;PHP  
header("content-Type: text/html; 
charset=Utf-8");  
echo mb_convert_encoding("
你是我的好朋友", "UTF-8", "GBK");  
&#63;> 

2. UTF-8-codierte Zeichenfolge in GB2312-codierte Zeichenfolge konvertieren

// 注意将此文件存盘成 utf-8 
编码格式文件再测试  
< &#63;PHP  
header("content-Type: text/html; 
charset=gb2312");  
echo mb_convert_encoding("
你是我的好朋友", "gb312", "utf-8");  
&#63;> 

3. Konvertieren Sie die gesamte Seite

Diese Methode ist für alle Codierungsumgebungen geeignet. Auf diese Weise werden alle Zeichensätze außer den ersten 128 Zeichen (Anzeigezeichen) durch NCR dargestellt (Numerische Zeichenreferenzen wie „chinesische Zeichen“ werden in „chinesische Zeichen“ umgewandelt). Diese Kodierung kann in jeder Kodierung verwendet werden Umgebung angezeigt.

Fügen Sie die folgenden drei Codezeilen zum Kopf der PHP-Datei hinzu:

mb_internal_encoding("gb2312");  
// 这里的gb2312是你网站原来的编码  
mb_http_output("HTML-ENTITIES"); ob_start('mb_output_handler');  

Die Verwendung der Funktion mb_convert_encoding erfordert die Aktivierung der mbstring-Erweiterung (Multibyte-String) von PHP.

Wenn die mbstring-Erweiterung von PHP nicht aktiviert ist, müssen Sie die folgenden Einstellungen vornehmen, damit PHP die Erweiterung unterstützen kann.

1. Windows-Serverumgebung

Bearbeiten Sie die PHP.ini-Datei, 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.

Fazit:

Wenn Sie bei der Verwendung der PHP-Kodierungskonvertierungsfunktion immer noch nichts verstehen, können Sie im „PHP-Handbuch“ nachschlagen.

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