Masalah AJAX Cina dibagi menjadi dua kategori:
1) Parameter di jalur pengiriman dalam bahasa Cina, dan nilai parameter yang diterima di bagian server kacau.
Misalnya:
var url="a.jsp?name=Xiao Li";
xmlHTTP.open("postingan",url,benar);
Larutan:
Gunakan metode escape() atau encodeURI() yang disediakan oleh javascript, misalnya:
Klien:
var url="a.jsp?name=Xiao Li";
url=mengkodeURI(url);
url=encodeURI(url); //Dua kali, sangat kritis [Saya tidak tahu persis alasannya]
/******************************************************/
Beberapa orang juga menulis var url="a.jsp?name=escape("Xiao Li)";
Fungsinya mirip dengan metode encodeURI.
/******************************************************/
xmlHTTP.setrequestheader("kontrol cache","tanpa cache");
xmlHTTP.setrequestheader("Tipe Konten","application/x-www-form-urlencoded");
xmlHTTP.setrequestheader("contentType","text/html;charset=uft-8")//Tentukan format pengkodean data yang dikirim
xmlHTTP.open("postingan",url,benar);
Sisi server:
String nama = permintaan.getParameter("nama");
nama = java.net.URLDecoder.decode("nama", "UTF-8");
2) Nilai responText atau responXML yang dikembalikan berisi karakter Cina dan kacau. Alasan: AJAX mendekode nilai responText atau responXML sesuai dengan format UTF-8 saat menerimanya , , maka nilai yang diterima oleh responText atau responXML mungkin kacau.
Solusi: Tentukan format pengiriman data di server:
Dalam file jsp:
respon.setContentType("text/text;charset=UTF-8");//Apa yang dikembalikan adalah file teks txt atau
respon.setContentType("text/xml;charset=UTF-8");//mengembalikan file xml
Ringkasan: 1) Format data ajax yang dikirimkan adalah utf-8 secara default, menggunakan metode escape() atau encodeURI() yang disediakan oleh javascript Saat menerima di sisi server, gunakan java.net.URLDecoder.decode("", Metode "UTF -8") untuk memecahkan kode.
2) Pengkodean karakter default dari data yang dikembalikan oleh xtmlhttp adalah utf-8, jadi ketika server ingin mengirim data ke klien, harus menggunakan pengkodean utf-8 juga Anda dapat mencoba mengonversi file jsp, htm, java yang disimpan dalam format pengkodean UTF-8.
Singkatnya: cukup gunakan pengkodean UTF-8 untuk interaksi data depan dan belakang.
Artikel ini berasal dari blog CSDN. Harap sebutkan sumbernya saat mencetak ulang: http://blog.csdn.net/jiaoxiaguoke/archive/2009/12/31/5110991.aspx