Heim > Backend-Entwicklung > PHP-Tutorial > Sammlung von Lösungen für verstümmelte chinesische Zeichen, die in der PHP-URL-Adressleiste übertragen werden

Sammlung von Lösungen für verstümmelte chinesische Zeichen, die in der PHP-URL-Adressleiste übertragen werden

高洛峰
Freigeben: 2023-03-04 18:54:01
Original
1667 Leute haben es durchsucht

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>";
?>
Nach dem Login kopieren

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[&#39;name&#39;]);//你可能不用解码都可以,因为浏览器会自动帮你解码
echo $DecodeStr;
?>
Nach dem Login kopieren

Ü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(&#39;mb_output_handler&#39;);
Nach dem Login kopieren

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

$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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage