编程开发 > JSP > 文章内容

JSP教程:JSP中向cookie写入中文乱码解决方法

2017-6-1编辑:daibenhua

  在jsp中对中文的处理有一点不好就可能出现乱码了,下面我来给大家介绍jsp中向cookie写入中文实现程序有需要了解的朋友可参考。

  Cookie不能直接存中文,中文必须编码成asccii串才行,可以这样做 (http://www.javaweb.cc搜集整理)

  代码如下

  String str = java.net.URLEncoder.encode(中文);

  得到编码后的字符串

  取出后这样解码:

  代码如下

  String str = java.net.URLDecoder.decode(编码后的字符串);

  具体方法

  一般是这样一个过程 字符串转码==》存入cookie===》读取cookie==》转码==》显示

  第一步:写入cookie时先进行编码

  代码如下

  Cookie cookie=new Cookie("groupMembersList",URLEncoder.encode (groupMembersList,"GBK")); //默认为临时Cookie,MaxAge<0

  //cookie.setMaxAge(-1);

  response.addCookie(cookie);

  第二步:读取cookie再进行解码

  代码如下

  <%

  Cookie[] cookies=request.getCookies();

  for(Cookie cookie:cookies){

  if(cookie.getName().equalsIgnoreCase("groupMembersList"))

  request.setAttribute("group",URLDecoder.decode(cookie.getValue(),"GBK"));

  }

  %>

  

  还有一种办法

  代码如下

  try{

  Cookie cookie = new Cookie(name, new String(value.getBytes("GBK"), "ISO8859-1"));

  cookie.setDomain(this.domain);

  cookie.setPath("/");

  cookie.setMaxAge(120 * 1000);

  response.addCookie(cookie);

  }catch (Exception e){

  e.printStackTrace();

  }

JSP教程:JSP结构

热点推荐

登录注册
触屏版电脑版网站地图