jquery序列化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);  
二:1.將jquery.js文件中的encodeURIComponent替換為encodeURI。即可解決中文亂碼。(不知道在哪改,沒試過)
2.另一種方式將所有jsp、xml的字符集都設置為UTF-8 。(我的這兩種文件本來都是UTF-8,估計有漏掉的,是否可行未知)
JSP
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
XML
<?xml version="1.0" encoding="UTF-8"?>
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM