Heim >Backend-Entwicklung >PHP-Problem >Warum werden die in PHP übergebenen Parameter verstümmelt?
Der Grund, warum PHP-Parameter verstümmelt sind, liegt darin, dass die Codierung inkonsistent ist. Die Lösung besteht darin, sie so zu ändern, dass sie die UFT-8-Codierung verwendet. Der Änderungscode lautet beispielsweise „mb_detect_encoding($typeName,'CP936,UTF-8')“. .
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP Version 7.1, Dell G3-Computer.
Warum sind PHP-Parameter verstümmelt?
Lösung für verstümmelte PHP-Parameter
Wenn das Website-Projekt gb2312 als Projektcodierung verwendet, codieren einige Browser möglicherweise Chinesisch als Website-Codierung, da verschiedene Browser chinesische Zeichen unterschiedlich codieren können Chinesisch in utf-8, und beim Empfang von Parametern im Hintergrund treten verstümmelte Fehler auf. Eine bessere Lösung besteht darin, die chinesischen Zeichen in den Parametern zu identifizieren und sie zu konvertieren, wenn sie nicht gb2312 sind.
$typeName = $_GET['typeName']; $encode = mb_detect_encoding($typeName,'CP936,UTF-8') ; //如果是CP936,就是gbk编码,如果是UTF-8, 就是utf-8编码 if ($encode =='UTF-8') { //再调用转换成utf-8编码的函数,最终确保是utf-8 $typeName = iconv("utf-8","gb2312",$typeName); }
Bei Website-Codierungsproblemen und zukünftigen Erweiterungen wird die Verwendung der UFT-8-Codierung empfohlen
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWarum werden die in PHP übergebenen Parameter verstümmelt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!