JS encodeURI转码

    xiaoxiao2021-12-03  44

    背景:URI链接对于带有中文字符的参数传入会有编码转换问题,不做处理则会出现乱码。

    处理逻辑:对URI进行编码传送——后端经行URI解码还原

    使用方法:

       前端:

        var url = http://ip:port/context?PARAM=中文;

         //转码(要转码两次)          

          url1 =encodeURI(url);//转码一次

          url2 =encodeURI(url2);//再转码一次

       后端:

        String param = request.getParameter("PARAM");

         if(!StringUtils.isEmpty(param)){

             param = URLDecoder.decode( request.getParameter("PARAM"),"UTF-8");//解码

         }

    解说:

    前端解码两次说明:

    假设页面端输入的中文是一个“中”,按照下面步骤进行解码 1.第一次encodeURI,按照utf-8方式获取字节数组变成[-28,-72-83],对字节码数组进行遍历,把每个字节转化成对应的16进制数,这样就变成了[E4,B8,AD],最后变成[
    转载请注明原文地址: https://ju.6miu.com/read-679920.html

    最新回复(0)