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编码的应用里提交数据,很明显不做处理的话,会出现乱码现象。
参考资料:
涉及到的知识
中文名:统一资源系统定位系统
英文名:uniform resource locator;URL
定义:因特网的万维网服务程序上用于指定信息位置的表示方法。
用来作为万维网的地址。互联网标准RFC1738.