[JQ] serialize方法中文亂碼及解決辦法

在項目中發現用了jquery serialize這個方法後,中文已經轉了編碼格式的了,以為直接將tomcat的設置為utf-8就可以解決,發現並不是這樣的,後來直接上網google一翻,得到以下答案:特記錄如下 

  1. 原因:.serialize()自動調用了encodeURIComponent方法將數據編碼了   
  2. 解決方法:調用decodeURIComponent(XXX, true );將數據解碼   
  3. 例如:   
  4. var params = jQuery( "#formId" ).serialize();  // http request parameters.   
  5. params = decodeURIComponent(params, true );  

轉自:http://tcrct.iteye.com/blog/1341368

補充:
在PHP接收時若使用parse_str()會自動套用urlencode(),不需要手動解碼

發表迴響