Maison  >  Article  >  interface Web  >  Comment gérer les caractères chinois tronqués dans jquery

Comment gérer les caractères chinois tronqués dans jquery

coldplay.xixi
coldplay.xixioriginal
2020-11-16 15:42:531925parcourir

Solution pour jquery le code chinois tronqué : 1. Unifiez l'encodage du projet en [UTF-8], et unifiez l'encodage lors de l'interaction des données en [UTF-8] ; a été S'il est uniformément défini sur GBK ou GB2312, des caractères chinois tronqués apparaîtront facilement lors de la transmission des paramètres chinois au serveur via des appels ajax.

Comment gérer les caractères chinois tronqués dans jquery

Recommandé : "Tutoriel vidéo jquery"

Solution au code tronqué chinois jquery :

Méthode 1, unifier l'encodage du projet en UTF-8. Unifier l'encodage lors de l'interaction des données en "UTF-8" ;

Méthode 2, si l'encodage du projet a été unified S'il est défini sur GBK ou GB2312, des caractères chinois tronqués sont susceptibles d'apparaître lors de la transmission des paramètres chinois au serveur via des appels ajax. La méthode de traitement est la suivante :

Backend :

Exemple de code :

/* =============禁止缓存============== */
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
/* =============禁止缓存============== */
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
//request.setCharacterEncoding("UTF-8");
String userName = request.getParameter("userName");
userName=URLDecoder.decode(userName, "UTF-8");
             
              //在springmvc中,如没有通过request,或直接设置jquery的编码设置,则需要如下方式转换。
     // mykeyword = new String(keyword.getBytes("iso-8859-1"),"UTF-8");
              //但如果是encodeURI()函数转换,则如下就可以。注意,这时参数在 url后面。
              userName=URLDecoder.decode(userName, "UTF-8");

Exemple de premier plan :

Exemple de code :

var myurl="grzx/validateUserNameIsExists.do?userName="+username;
myurl=encodeURI(myurl);
myurl=encodeURI(myurl);
jQuery.ajax({
url:myurl,
type:'POST',
async:false,
data:{},
success:function(data){
    var msg=eval('('+data+')');
  //  var msg=JSON.parse(data);
      if(!msg.result){
    jQuery('#myusername').attr('value','');
         alert('用户名已存在!请用新的用户名');
      }
    }
   });

est codé deux fois.

Le "rire" passé au premier plan est : "%E5%93%88%E5%93%88%E5%A4%A7%E7%AC%91" avant d'encoder en arrière-plan ; Cela a fonctionné.

Bien sûr, il est également possible de n'encoder qu'une seule fois. Il suffit de définir l'encodage jquery sur "UTF-8" ;charset='UTF-8' ;

Par exemple :

Exemple de code :

contentType : 'application/json;charset=UTF-8',

Recommandations d'apprentissage gratuites associées : JavaScript(Vidéo)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn