使用cookies存放中文,导致前台乱码,解决方法

//读取cookie,需要注意的是cookie是不能存中文的,如果需要存中文,解决方法是后端先进行编码encode(),
//前端取出来之后用decodeURI('string')解码。

解决方法,直接上代码:

后端java:

 //是中文存放在cookies中会乱码所以此处将用户名编码,用于页面使用
        try {
     
            log.setCreatorName(URLEncoder.encode(需要转码的数据, "UTF-8"));
        } catch (UnsupportedEncodingException e) {
     
            e.printStackTrace();
            //异常抛出数据范围错误
            throw XXXX;
        }

前端取出:

//读取cookie
      getCookie (name) {
     
        var arr, reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)')
        if (arr = document.cookie.match(reg)) {
     
          return decodeURI(cookies存放的地址)
        } else {
     
          return null
        }
      },

cookies中的是编码后的中文:
cookies中的值页面取出后:
结果

你可能感兴趣的:(前端,javascript)