码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2017-05-27 19:58:23      阅读:455      评论:0      收藏:0      [点我收藏+]

标签:编码解码   编码转换   ons   encoder   ring   string   font   字符   用户名   

在登录时,提交一个中文名的用户名到服务器并返回到客户端的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);

 

 

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

标签:编码解码   编码转换   ons   encoder   ring   string   font   字符   用户名   

原文地址:http://www.cnblogs.com/tongxuping/p/6914172.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!