- 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;
- }
- }
- });
- }
- }
Copia codice Il codice sopra può essere passato normalmente in cinese in FF/Chrome, ma in IE c'è un problema e le informazioni in background risultano distorte.
Tentativo problematico:
1. Set contentType: "testo/semplice; Charset=UTF-8", il problema persiste
2. Ho ricontrollato la pagina JSP dove si trova il codice ajax, tutti usano UTF-8, ma il problema persiste
3. Nel codice Java in background, la conversione di codifica di UTF-8, GBK e GB2312 viene forzata, e il problema persiste
Dopo l'analisi, si determina che potrebbe essere collegata alla trasmissione di contenuti nel browser o JQuery, ma al momento non può essere determinata con precisione.
Soluzione:
Paragrafo precedente: encodeURI($(dom).val(), "UTF-8"); codificare con encodeURI
Codice Java backend:
URLDecoder.decode(inputStr, "UTF-8"): Il codice backend decodifica la stringa passata nel segmento frontale.
Sommario:
Infine, le informazioni sulla stringa trasmesse dalla richiesta Ajax Post possono essere visualizzate normalmente, mentre le cinesi possono essere visualizzate normalmente.
|