- var regid = $('#oregion').combobox('getValue');
- //var sname = $('#sname').val();
- var sname = encodeURI($('#sname').val(),"UTF-8");
- if(regid!=""&®id!='undefined'){
- $.ajax({
- async: true,
- type : "POST",
- dataType : "json",
- url : "<%=request.getContextPath() %>/secretary/isHasUser.do?regid="+regid+"&sname="+sname,
- success : function(data) {
- if(data.mes!=""&&data.mes!=null){
- $.messager.alert('Warning',data.mes);
- return false;
- }
- }
- });
- }
- }
Αντιγραφή κώδικα Ο παραπάνω κώδικας μπορεί να μεταβιβαστεί στα κινέζικα κανονικά σε FF/Chrome, αλλά στον IE, υπάρχει πρόβλημα και η έξοδος πληροφοριών στο παρασκήνιο είναι αλλοιωμένη.
Προσπάθεια προβλήματος:
1. Ορισμός contentType: "κείμενο/απλό; charset=utf-8", το πρόβλημα παραμένει
2. Έλεγξα ξανά τη σελίδα JSP όπου βρίσκεται ο κώδικας ajax, οι οποίες χρησιμοποιούν UTF-8, αλλά το πρόβλημα παραμένει
3. Στον κώδικα Java στο παρασκήνιο, η μετατροπή κωδικοποίησης των UTF-8, GBK και GB2312 είναι αναγκαστική και το πρόβλημα παραμένει
Μετά από ανάλυση, διαπιστώνεται ότι μπορεί να σχετίζεται με τη μετάδοση περιεχομένου στο πρόγραμμα περιήγησης ή στο JQuery, αλλά δεν μπορεί να προσδιοριστεί με ακρίβεια αυτήν τη στιγμή.
Λύση:
Προηγούμενη παράγραφος: encodeURI($(dom).val(), "UTF-8"); κωδικοποίηση με encodeURI
Κώδικας Java υποστήριξης:
URLDecoder.decode(inputStr, "UTF-8"): Ο κώδικας υποστήριξης αποκωδικοποιεί τη συμβολοσειρά που περνά στο μπροστινό τμήμα.
Περίληψη:
Τέλος, οι πληροφορίες συμβολοσειράς που διαβιβάζονται από το αίτημα Ajax Post μπορούν να εμφανιστούν κανονικά και τα κινέζικα μπορούν να εμφανιστούν κανονικά.
|