Home  >  Article  >  Web Front-end  >  How to deal with Chinese garbled characters in jquery

How to deal with Chinese garbled characters in jquery

coldplay.xixi
coldplay.xixiOriginal
2020-11-16 15:42:531923browse

Solution to jquery Chinese garbled code: 1. Unify the encoding of the project to [UTF-8], and unify the encoding during data interaction to [UTF-8]; 2. If the encoding of the project has been If it is uniformly set to GBK or GB2312, Chinese garbled characters will easily appear when passing Chinese parameters to the server through ajax calls.

How to deal with Chinese garbled characters in jquery

Recommended: "jquery video tutorial"

Solution to jquery Chinese garbled code:

Method 1, uniformly set the encoding of the project to UTF-8. Unify the encoding during data interaction to "UTF-8";

Method 2, if the encoding of the project has been unified If set to GBK or GB2312, Chinese garbled characters are likely to appear when passing Chinese parameters to the server through ajax calls. The processing method is as follows:

Backend:

Code example:

/* =============禁止缓存============== */
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");

The front desk is like:

Code example:

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('用户名已存在!请用新的用户名');
      }
    }
   });

Encode twice.

The "laughing loudly" passed in the foreground will be: "laughing loudly" before encoding in the background; even if it is successful.

Of course, it is also possible to encode only once. Just set the encoding of jquery to "UTF-8"; and add ;charset='UTF-8'.

For example:

Code sample:

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

Related free learning recommendations: JavaScript (video)

The above is the detailed content of How to deal with Chinese garbled characters in jquery. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn