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

Comment résoudre les caractères chinois tronqués dans jquery

coldplay.xixi
coldplay.xixioriginal
2020-11-25 10:42:432192parcourir

Solution pour jquery le code chinois tronqué : unifiez l'encodage lors de l'interaction des données avec [UTF-8], et le code est [contentType : 'application/json;charset=UTF-8',].

Comment résoudre les caractères chinois tronqués dans jquery

  • Cette méthode convient à toutes les marques d'ordinateurs

jquery chinois code tronqué Solution :

Méthode 1, définissez uniformément l'encodage du projet sur UTF-8 Unifiez l'encodage lors de l'interaction des données sur

Méthode 2, Si l'encodage du projet a été uniformément 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");

La réception est comme :

Exemple de code :

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

Encode 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 l'encoder une seule fois. Réglez l'encodage de jquery sur "UTF-8" ;

;charset='UTF-8'Par exemple :

Exemple de code :

contentType : &#39;application/json;charset=UTF-8&#39;,

Recommandations d'apprentissage associées :
Tutoriel vidéo js

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