Chinesische AJAX-Probleme sind in zwei Kategorien unterteilt:
1) Die Parameter im Sendepfad sind auf Chinesisch und die im Serverabschnitt empfangenen Parameterwerte sind verstümmelt.
Zum Beispiel:
var url="a.jsp?name=Xiao Li";
xmlHTTP.open ("post",url,true);
Lösung:
Verwenden Sie die von Javascript bereitgestellten Methoden escape() oder encodeURI(), zum Beispiel:
Kunde:
var url="a.jsp?name=Xiao Li";
url=encodeURI(url);
url=encodeURI(url); //Zweimal, sehr kritisch [Ich weiß nicht genau warum]
/************************************************/
Manche Leute schreiben auch var url="a.jsp?name=escape("Xiao Li");
Die Funktion ähnelt der encodeURI-Methode.
/************************************************/
xmlHTTP.setrequestheader("cache-control","no-cache");
xmlHTTP.setrequestheader("Content-Type","application/x-www-form-urlencoded");
xmlHTTP.setrequestheader("contentType","text/html;charset=uft-8")//Geben Sie das Codierungsformat der gesendeten Daten an
xmlHTTP.open ("post",url,true);
Serverseite:
String name = request.getParameter("name");
name = java.net.URLDecoder.decode("name", "UTF-8");
2) Der zurückgegebene ResponseText- oder ResponseXML-Wert enthält chinesische Zeichen und ist verstümmelt. Grund: AJAX dekodiert den ResponseText- oder ResponseXML-Wert beim Empfang entsprechend dem UTF-8-Format , , dann ist der von ResponseText oder ResponseXML empfangene Wert möglicherweise verstümmelt.
Lösung: Geben Sie das Format zum Senden von Daten auf dem Server an:
In der JSP-Datei:
Response.setContentType("text/text;charset=UTF-8");//Was zurückgegeben wird, ist eine TXT-Textdatei oder
Response.setContentType("text/xml;charset=UTF-8");//zurückgegebene XML-Datei
Zusammenfassung: 1) Das Format der von Ajax übermittelten Daten ist standardmäßig utf-8. Verwenden Sie beim Empfang auf der Serverseite java.net.URLDecoder.decode("", „UTF-8“)-Methode zum Dekodieren.
2) Die Standardzeichenkodierung der von xtmlhttp zurückgegebenen Daten ist utf-8. Wenn der Server also Daten an den Client senden möchte, muss er auch die utf-8-Kodierung verwenden. Wenn die obige Methode das verstümmelte Problem immer noch nicht lösen kann Sie können versuchen, JSP-, HTM- und Java-Dateien zu konvertieren, die im UTF-8-Codierungsformat gespeichert sind.
Kurz gesagt: Verwenden Sie einfach die UTF-8-Kodierung sowohl für die Interaktion mit den vorderen als auch hinteren Daten.
Dieser Artikel stammt aus dem CSDN-Blog. Bitte geben Sie beim Nachdruck die Quelle an: http://blog.csdn.net/jiaoxiaguoke/archive/2009/12/31/5110991.aspx