Heim  >  Artikel  >  Backend-Entwicklung  >  Was soll ich tun, wenn in der PHP-URL-Adressleiste verstümmelte chinesische Zeichen übertragen werden?

Was soll ich tun, wenn in der PHP-URL-Adressleiste verstümmelte chinesische Zeichen übertragen werden?

coldplay.xixi
coldplay.xixiOriginal
2020-07-11 09:20:372613Durchsuche

Lösungen für verstümmelte chinesische Zeichen, die in der PHP-URL-Adressleiste übertragen werden: 1. urlencode-Methode, der Code ist [string urlencode(string str)] 2. urldecode-Methode, der Code ist [string urldecode(string str ].

Was soll ich tun, wenn in der PHP-URL-Adressleiste verstümmelte chinesische Zeichen übertragen werden?

Lösung für verstümmelte chinesische Zeichen in der PHP-Adressleiste:

Chinesisch $_GET in Die PHP-Adressleiste ist danach verstümmelt. Detaillierte Erläuterung der Verwendung von URL-Code und URL-Decode
URL-Codierung

  • Syntax: string urlencode(string str);

  • Rückgabewert: String

  • Funktionstyp: Kodierungsverarbeitung

Zum Beispiel:

Der Code lautet wie folgt:

<?php
$ChineseName="我的名字,是中文的哦";
$EncodeStr=urlencode($ChineseName);
echo "<a href=/cgi/personal.cgi?name=$EncodeStr>我的名字</a>";
?>


URL-Dekodierung

  • URL-codierte Zeichenfolge wiederherstellen

  • Syntax: string urldecode(string str);

  • Rückgabewert: String

  • Funktionstyp: Kodierungsverarbeitung

Zum Beispiel:
Verarbeiten und zeigen Sie den zuvor übergebenen chinesischen Text an

Der Code lautet wie folgt:

<?php$DecodeStr=urldecode($_GET[&#39;name&#39;]);
//你可能不用解码都可以,因为浏览器会自动帮你解码echo $DecodeStr;?>
关于php用get方法从url上获得的中文乱码问题使用
$gonghui = iconv("gb2312","UTF-8",$gonghui);
另一方法代码
/*** 
多字节字符串编码转换函数
** @param string str 需要进行编码转换的字符串
* @param string to_encoding 指定转换为某种编码,如:gb2312、gbk、utf-8等
* @param mixed from_encoding 混合指定原来字串的编码,如:同时指定 JIS, eucjp-win, sjis-win 混合编码
* @return stringstring mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
**/


mb_convert_encodingDer Funktion ist eine PHP-interne Multibyte-String-Kodierungskonvertierungsfunktion, die bei Bedarf in fast allen Kodierungen unterstützt wird:

ruft direkt reg.php?gh=something

//工会登入参
$gonghui = $_GET[&#39;gh&#39;];
ruft

ab und gibt es in gb2312-Kodierung in utf aus. 8. Ändern Sie die verstümmelten Zeichen $gonghui

in

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

und es wird normal angezeigt.

Konvertieren Sie gesamte Seite.

Diese Methode ist auf alle Codierungsumgebungen anwendbar, mit Ausnahme der ersten 128 Zeichen (Anzeigezeichen). Chinesische Schriftzeichen"). Diese Codierung kann die Seite in jeder Codierungsumgebung normal anzeigen. .

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

Der Code lautet wie folgt :

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

Für die Verwendung der Funktion

ist die Aktivierung der mbstring-Erweiterung (Multibyte-String) von PHP erforderlich. mb_convert_encoding

Wenn die mbstring-Erweiterung von PHP nicht aktiviert ist, müssen Sie die folgenden Einstellungen vornehmen Sorgen Sie dafür, dass PHP die Erweiterung unterstützt.

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.


Verwandte Lernempfehlungen:
PHP-Programmierung vom Einstieg bis zur Beherrschung

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn in der PHP-URL-Adressleiste verstümmelte chinesische Zeichen übertragen werden?. 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