Das chinesische $_GET in der PHP-Adressleiste ist verstümmelt und die Verwendung von urlencode und urldecode wird ausführlich erklärt
URL-Kodierung
Syntax: string urlencode(string str);
Rückgabewert: string
Funktionstyp: Kodierungsverarbeitung
Zum Beispiel:
<?php $ChineseName="我的名字,是中文的哦"; $EncodeStr=urlencode($ChineseName); echo "<a href=/cgi/personal.cgi?name=$EncodeStr>我的名字</a>"; ?>
URL-Dekodierung
Stellen Sie die URL-kodierte Zeichenfolge wieder her.
Syntax: string urldecode(string str);
Rückgabewert: String
Funktionstyp: Kodierungsverarbeitung
Zum Beispiel:
Verarbeiten und zeigen Sie den zuvor übergebenen chinesischen Text an
<?php $DecodeStr=urldecode($_GET['name']);//你可能不用解码都可以,因为浏览器会自动帮你解码 echo $DecodeStr; ?>
Über das Problem chinesischer verstümmelter Zeichen, die mit der get-Methode in PHP aus der URL abgerufen werden
Verwenden Sie $gonghui = iconv("gb2312",UTF-8",$gonghui); einen anderen Methodencode
/**
* Multi-Byte-String-Kodierungskonvertierungsfunktion
*
* @param string str Die Zeichenfolge, die codiert und konvertiert werden muss
* @param string to_encoding gibt die Konvertierung in eine bestimmte Codierung an, z : gb2312, gbk, utf-8 usw.
* @param gemischt from_encoding gibt die gemischte Codierung der ursprünglichen Zeichenfolge an, z. B.: Geben Sie gleichzeitig die gemischte Codierung JIS, eucjp-win, sjis-win an
* @return string
string mb_convert_encoding ( string str, string to_encoding [, gemischt from_encoding] )
**/
mb_convert_encoding-Funktion ist PHPs interne Multibyte-String-Kodierungskonvertierungsfunktion, die bei Bedarf fast alle Kodierungen unterstützen kann. PHP >= 4.0.6, 5 Versionen unterstützt.
Reg.php?gh=XX direkt abrufen;
// Union-Anmeldeparameter
$gonghui = $_GET['gh'];
Das erhaltene $gonghui wird mit GB2312 codiert und an die UTF-8-Webseite ausgegeben, um verstümmelte Zeichen anzuzeigen.
wurde in
geändert // Union-Anmeldeparameter
$gonghui = $_GET['gh' ];
$gonghui = mb_convert_encoding($gonghui, "UTF-8", "gb2312");
Es wird normal angezeigt
Die gesamte Seite konvertieren
Diese Methode funktioniert in allen Codierungsumgebungen. 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). Eine solche Codierung kann auf der Seite verwendet werden in jeder Codierungsumgebung normal 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 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.
Die dritte Referenzmethode von anderen Internetnutzern:
//Methode 1 urldecode
$url = 'aaa.php?region='.urldecode("Sichuan Province");
< ; a href="">aaa
//Methode 2 base64_encode
„Provinz Sichuan“;
$test1=base64_encode($test);
echo 'aaa '; 🎜>?>
Verwenden Sie base64_decode, um eine andere Seite zu dekodieren
base64_decode($region);
//Methode 3 sorgt dafür, dass der Server Chinesisch unterstützt
[root@dhcp ~]# locale
lang=zh_cn.utf-8
lc_ctype="zh_cn.utf-8"lc_numeric="zh_cn.utf-8"
lc_time = c
lc_collate=c
lc_monetary="zh_cn.utf-8"
lc_messages="zh_cn.utf-8"
lc_paper="zh_cn.utf-8"
lc_name=" zh_cn .utf-8"
lc_address="zh_cn.utf-8"
lc_telephone="zh_cn.utf-8"
lc_measurement="zh_cn.utf-8"
lc_identification="zh_cn -8"
lc_all=
[root@dhcp ~]#
Weitere Lösungen für verstümmelte chinesische Zeichen in der PHP-URL-Adressleiste finden Sie auf der chinesischen PHP-Website!