Heim > Artikel > Web-Frontend > Beispielanalyse des Unterschieds zwischen IE-Browser und FF-Browser, wenn der Ajax-Parameterwert Chinesisch ist
Dieser Artikel stellt hauptsächlich den Unterschied zwischen IE-Browser und FF-Browser vor, wenn der Ajax-Parameterwert chinesisch ist. Er kombiniert die Beispielanalyse, um die Vorsichtsmaßnahmen und Verwendungsfähigkeiten im Zusammenhang mit der Parametertranskodierung im Ajax-Parameterübertragungsprozess zu erläutern kann sich beziehen auf
Das Beispiel in diesem Artikel beschreibt den Unterschied zwischen IE-Browser und FF-Browser, wenn der Ajax-Parameterwert Chinesisch ist. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Ich habe zuvor „Javascript-Übergabeparameter basierend auf der AJAX-Rückruffunktion“ eingeführt. Hier analysieren wir hauptsächlich die verstümmelte Verarbeitungsmethode für verschiedene Browser im Ajax-Prozess Übergabe chinesischer Parameter.
Verstümmelte Zeichen erscheinen, wenn Ajax Parameter auf Chinesisch übergibt. Die Situation, auf die ich gestoßen bin, ist:
1 Meine Datenbankverbindungskodierung ist GB2312, latin1_swedish_ci
2.php-Dateikodierung Das Format ist UTF-8 und die Browser-Anzeigekodierung ist: UTF-8
3 Meine Seite wird auf zwei Arten angezeigt:
1) Wird automatisch geladen, wenn die Seite geladen wird , jede Sekunde aktualisiert
2) Wenn Sie auf den Namen einer Nebenstellengruppe klicken, erhalten Sie die entsprechenden Mitgliedskarteninformationen der Nebenstellengruppe
4 Erste Handhabung dieser Situation:
Sitzung auf der Seite control.php abrufen:
Inhalt der Datenbank lesen:
Zeile 53:
$grouparr[] = iconv("GB2312","UTF-8",$g[0]); //数据库内容转换为 UTF-8,这样能正常显示页面上的中文
Zeile106:
$_SESSION['dispatchgroup'] = iconv("UTF-8","GB2312",$grouparr[0]);//将转换的中文修改为 GB2312,用于在 dispatchinfo.php 文件中获得查询的条件值,获得GB2312编码的值。
dispatchinfo.php: Zeile 291
if($_SESSION['dispatchgroup']){ $groupaddressinfo = function_listaddressesbygroup($_SESSION['dispatchgroup'],1,$value,0,$_SESSION['dispatchexten'],$_SESSION['dispatchgrouppage']); //2013-5-17$groupaddressinfo = "listaddressesbygrouptype|0|LocalExt|1|12|1,,,801,空闲,,|1,,,802,不在线,,|1,,,803,空闲,,|1,,,804,不在线,,|,,,805,不在线,,|,,,806,不在线,,|,,,807,不在线,,|,,,808,不在线,,|,,,809,不在线,,|,,,810,不在线,,|5,餐厅,,811,10.1.6.189;连接|6,,,812,user2;断开|"; }
In diesem Fall können sowohl IE als auch FF normal angezeigt werden.
5. Für den zweiten Fall:
Klicken Sie auf den Namen „Erweiterungsgruppe“, um den chinesischen Namen der angeklickten Erweiterungsgruppe zu erhalten und ihn zur Verarbeitung durch Ajax an die Datei „dispatchinfo2.php“ zu übergeben Vor der Änderung sind der chinesische Name und die Warnung, die nach dem js-Klickereignis erhalten werden, alle normalen Werte [das Format ist UTF-8]. Zu diesem Zeitpunkt tritt ein Fehler auf nach der Iconv-Transkodierung.
Da es sich nur um den ersten Fall handelt, verwende ich bei der Verarbeitung die Konvertierungscodierungsmethode
$groupname = iconv("GB2312","UTF-8",$groupname);
Zu diesem Zeitpunkt tritt beim erneuten Codieren ein Fehler auf,
Lösungsmethode:
Asynchrone Übermittlungsverarbeitung von JS:
checkval(); var ajax = InitAjax(); var url = "dispatchinfo2.php?"+arges; //2013-08-21 limx 中文编码问题 url = encodeURI(encodeURI(url)); ajax.open('GET',url,true);
dispatchinfo2.php
$groupname = urldecode($groupname); $groupname = iconv("utf-8","GB2312",$groupname);
Vier Codezeilen lösen das Problem der chinesischen Kodierung perfekt.
Da die von AJAX gesendeten Daten in UTF-8-Codierung gesendet werden, muss die Codierungskonvertierung auf der Serverseite durchgeführt werden (meine Seite hier ist in GB2312 codiert, wenn sie UTF-8 ist). Dieser Schritt sollte keine Probleme bereiten, daher habe ich UTF-8 auf der Serverseite in GB2312 konvertiert.
Das Obige habe ich für alle zusammengestellt. Ich hoffe, dass es in Zukunft für alle hilfreich sein wird .
Verwandte Artikel:
Analyse der Reihenfolge der von der Ajax-Anfrage zurückgegebenen Daten
Das obige ist der detaillierte Inhalt vonBeispielanalyse des Unterschieds zwischen IE-Browser und FF-Browser, wenn der Ajax-Parameterwert Chinesisch ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!