Heim  >  Artikel  >  Backend-Entwicklung  >  So lösen Sie das Problem verstümmelter Parameter in PHP Get

So lösen Sie das Problem verstümmelter Parameter in PHP Get

藏色散人
藏色散人Original
2020-11-20 09:37:002516Durchsuche

Lösungen für verstümmelte PHP-Get-Parameter: 1. Verwenden Sie die Methode „iconv(“gb2312“, „UTF-8“, $gonghui);“ um das verstümmelte Problem zu lösen Problem.

So lösen Sie das Problem verstümmelter Parameter in PHP Get

Empfohlen: „PHP-Video-Tutorial

php verwendet die get-Methode, um den chinesischen verstümmelten Code aus der URL-Lösung abzurufen

Im Folgenden sind zwei Methoden aufgeführt

Die erste Methode verwendet $gonghui = iconv ("gb2312", "UTF-8", $gonghui);

Die zweite Methode

**  
* 多字节字符串编码转换函数  
 
*  
 
* @param string str 需要进行编码转换的字符串  
 
* @param string to_encoding 指定转换为某种编码,如:gb2312、gbk、utf-8等  
 
* @param mixed from_encoding 混合指定原来字串的编码,如:同时指定 JIS, eucjp-win, sjis-win 混合编码  
 
* @return string  
 
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )  
**/

mb_convert_encoding-Funktion ist eine PHP-interne Multibyte-String-Kodierungskonvertierungsfunktion, die bei Bedarf verwendet werden kann Kodierungen werden unterstützt. PHP >= 4.0.6, 5 Versionen unterstützt.

Reg.php?gh=XX direkt abrufen;

 //工会登入参
$gonghui = $_GET['gh'];

Das erhaltene $gonghui ist gb2312-codiert und wird auf der UTF-8-Webseite ausgegeben, auf der verstümmelte Zeichen angezeigt werden

Ändern Sie es in

 //工会登入参数
 $gonghui = $_GET['gh'];
 $gonghui = mb_convert_encoding($gonghui, "UTF-8", "gb2312");

und die Anzeige ist normal .

Konvertieren Sie die gesamte Seite

Diese Methode ist für alle Codierungsumgebungen geeignet. 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:

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ützt.

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 detaillierte Inhalt vonSo lösen Sie das Problem verstümmelter Parameter in PHP Get. 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