unable to decode value

1.假如我们在列表页搜索一个关键词,这时发现报错了,如下图所示:


我们一看发现给后台传的关键词是 unable to decode value


解决方案:

(1)在form上加 accept-charset ='UTF-8'

(2)在得到搜索的关键词时进行转码,let value = encodeURIComponent(e.target.value);

encodeURIComponent () 把字符串作为URI组件进行编码。

encodeURI () 可把字符串作为URI进行编码。

区别在于:前者假定它的参数是URI的一部分,比如(协议、主机名、路径或查询字符串)

encodeURIComponent ()

说明:此方法不会对ASCII字母和数字进行编码,也不会对这些ASCII码标点符号进行编码。

这个到底是什么原因呢?

其实很简单,这是因为两个编码不同导致的,一个是GBK编码,一个是UTF-8编码。现在要在GBK编码的应用里使用表单向UTF-8编码的应用里提交数据,很明显不做处理的话,会出现乱码现象。

参考资料:

form表单提交中文字符时编码转换不了

前端涉及到编码的问题

涉及到的知识

中文名:统一资源系统定位系统

英文名:uniform resource locator;URL

定义:因特网的万维网服务程序上用于指定信息位置的表示方法。

用来作为万维网的地址。互联网标准RFC1738.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值