Heim > Web-Frontend > js-Tutorial > Hauptteil

Beispielanalyse des Unterschieds zwischen IE-Browser und FF-Browser, wenn der Ajax-Parameterwert Chinesisch ist

亚连
Freigeben: 2018-05-24 13:52:25
Original
1349 Leute haben es durchsucht

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,这样能正常显示页面上的中文
Nach dem Login kopieren

Zeile106:

$_SESSION['dispatchgroup'] = iconv("UTF-8","GB2312",$grouparr[0]);//将转换的中文修改为 GB2312,用于在 dispatchinfo.php 文件中获得查询的条件值,获得GB2312编码的值。
Nach dem Login kopieren

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;断开|";
}
Nach dem Login kopieren

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

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

dispatchinfo2.php

$groupname = urldecode($groupname);
$groupname = iconv("utf-8","GB2312",$groupname);
Nach dem Login kopieren

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:

Beispielanalyse des Zeilenumbruchproblems des Ajax-Rückgabewerts für asynchrone Übermittlungsdaten

Verwendung von Ajax in SSH Online-Einkaufszentrum Vervollständigen Sie die asynchrone Überprüfung, ob der Benutzername vorhanden ist

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!

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!