unable to decode value

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

unable to decode value

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

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.