ajax/fetch上傳富文本時出現中文亂碼的解決方案(百分號問題)


最近正在編寫自己的項目,其中遇到了nodejs后台接受到的富文本參數顯示中文亂碼的問題

一開始我以為是字符編碼方式的錯誤,於是在請求參數的地方設置了utf-8,也就是:

  headers: {

    'Content-Type': 'x-www-form-urlencoded;charset=utf-8'

  }

這樣做確實可以解決這方面的問題,然而我的問題仍沒有得到解決,於是后來我細心的發現我的上傳文字中出現了百分號%,那么問題的根源就找到了,encodeURIComponent(“中文”)會出現百分號,所以由此可得知fetch在處理上傳數據的時候會自動對該數據進行編碼,於是在前端這邊可以對上傳數據進行二次編碼,把'%'編碼成'%25',那么在后端就可以正確的獲取數據:

  data:{id:1, content:encodeURI(encodeURI(‘商品'))} 


免責聲明!

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



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