• 通过Cookie来记住用户名出现乱码问题(URL编码)


    在登录时,提交一个中文名的用户名到服务器并返回到客户端的Cookie中时,

    这个过程会后台会报 java.lang.IllegalArgumentException (非法数据异常)

    -->在给前台发送Cookie之前对数据进行URL编码即可解决。

    -->URLEncoder.encode(username, "utf-8")

    后台解决编码问题后前台就可以接受到Cookie值,这时就会接收到类似:“%E7%AB%A5%E6%97%AD%E5%B9%B3”的数据,这时用iso8859-1的码表来读出的用户名信息。

    -->在取得Cookie值后对数据进行URL解码即可。

    -->username = URLDecoder.decode(username, "utf-8");

    上面的问题导致的主要原因是服务器默认是用iso8859-1的码表来编解码数据。则我们需要对数据进行URL编解码操作。

      

      Java中提供了进行URL编码和解码的类

      //将指定的字符串按照指定的编码转换为URL编码的形式

      URLEncoderstatic String encode(String name,String enc);

      //URL编码后的字符串按照指定编码解码为源字符串

      URLDecoderstatic String decode(String name,String enc);

     

    转载于:https://www.cnblogs.com/tongxuping/p/6914172.html

  • 相关阅读:
    createjs 利用createjs 写拼图功能
    canvas 利用canvas中的globalCompositeOperation 绘制刮奖 效果
    git 命令
    cmd 打开gitshell
    Grunt完成对LESS实时编译
    nodejs gulp less编辑
    canvas 绘制 矩形 圆形
    canvas绘制时钟
    juqery easyui
    vue-router(第2节课,妙味课堂)
  • 原文地址:https://www.cnblogs.com/twodog/p/12140431.html
Copyright © 2020-2023  润新知