zoukankan      html  css  js  c++  java
  • 通过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

  • 相关阅读:
    JavaOne Online Hands-on Labs
    Using DTrace to Profile and Debug A C++ Program
    怎样挑选电线?家装用线越大越好吗?
    ORACLE DTRACE DOC
    内核书
    SQL Server vNext CTP 1.2
    用VS Code打造最佳Markdown编辑器
    opendtrace 开源汇总
    DTrace C++ Mysteries Solved 转
    MYSQL-RJWEB 博客学习
  • 原文地址:https://www.cnblogs.com/twodog/p/12140430.html
Copyright © 2011-2022 走看看