最近使用jquery.form.js在頁面中進行文件上傳時,遇到了一些亂碼的問題。當上傳的文件名中含有中文或其他非ASCII字符時,會在上傳過程中出現亂碼現象。這讓我很煩惱。
經過查閱資料后,我發現原因是jquery.form.js默認使用了 "application/x-www-form-urlencoded" 類型的編碼格式,而該編碼格式對于非ASCII字符是不友好的。
解決這個問題的方法很簡單,只需要將編碼格式改為 "multipart/form-data" 即可。具體的代碼如下:
$('#uploadForm').ajaxSubmit({ contentType: 'multipart/form-data', ... });
通過這樣的設置,jquery.form.js會以 'multipart/form-data' 的方式進行上傳,而亂碼問題也得到了解決。
總之,在使用jquery.form.js進行文件上傳時,需要注意編碼格式的設置,這樣才能保證上傳文件名中含有中文或其他非ASCII字符時不出現亂碼問題。