ajax/fetch上传富文本时出现中文乱码的解决方案(百分号问题)

2017-01-09 12:47:03来源:cnblogs.com作者:sikoDaDa人点击

最近正在编写自己的项目,其中遇到了nodejs后台接受到的富文本参数显示中文乱码的问题

一开始我以为是字符编码方式的错误,于是在请求参数的地方设置了utf-8,也就是:

  headers: {

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

  }

这样做确实可以解决这方面的问题,然而我的问题仍没有得到解决,于是后来我细心的发现我的上传文字中出现了百分号%,那么问题的根源就找到了,encodeURIComponent(“中文”)会出现百分号,所以由此可得知fetch在处理上传数据的时候会自动对该数据进行编码,于是在前端这边可以对上传数据进行二次编码,把'%'编码成'%25',那么在后端就可以正确的获取数据:

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

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台