jsp中向cookie写入中文乱码解决方法

Cookie不能直接存中文,中文必须编码成asccii串才行,可以这样做  

 代码如下 复制代码

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"));  
   }
      %>

<c:out value="${requestScope.group }"/>

还有一种办法

 代码如下 复制代码

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();
}

时间: 2024-12-12 11:16:10

jsp中向cookie写入中文乱码解决方法的相关文章

JS读写cookie以及中文乱码解决

原文:JS读写cookie以及中文乱码解决 本文地址:http://www.cnblogs.com/PiaoMiaoGongZi/p/4092489.html 转载请注明. Js获取所有的cookie信息: var cookiename = document.cookie.split(";"); Js读写cookie值是中文乱码解决办法: //写入cookie function SetCookie(name, value) { var exp = new Date(); exp.set

分享JSP中文乱码解决方法_JSP编程

一.JSP页面中文乱码 在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一种是在JSP中动态输出的中文乱码. 先看一个JSP程序: <%@ page language="java" import="java.util.*" %> <html> <head> <title>中文显示示例</title> </head> <body> 这是一个中文显示示例: <

ajax中文乱码解决方法总结

ajax乱码解决办法一: 在服务器指定发送数据的格式: 在jsp文件中: response.setContentType("text/text;charset=UTF-8");//返回的是txt文本文件 或是 response.setContentType("text/xml;charset=UTF-8");//返回的xml文件 PHP:header("Content-Type:text/html;charset=GB2312"); ajax乱码

python 中文乱码解决方法

比如我从网上下载一些信息或写个电子邮件程序下载到本地,以记事本(txt) 形式写入并保存在本地计算机,为什么看到只是英文和乱码的?该怎样做呢? 答 乱码原因: 因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件.但是windows的本地默认编码是cp936,也就是gbk编码,所以在控制台直接打印utf-8的字符串当然是乱码了. 解决方法: 在控制台打印的地方用一个转码就ok了,打印的时候这么写: print myname.decode('utf-8').encode('gb

php excel reader2.21导出excel中文乱码解决方法说明

之前我的PHP教程博客访友询问使用php excel reader2.21导出excel时中文出现乱码如何解决,现我说明下php excel reader导出excel中文乱码的解决方法,希望对使用php excel reader导出excel的朋友有所帮助. php excel reader介绍 php excel reader是一个读取Excel xsl文件内容的一个php excel类,目前最新版本是php excel reader2.21,网上可自行搜索,sourceforge上的php

zend studio 5.5中文乱码解决方法

zend studio 5.5中文乱码解决方法 购买zend产品的用户太少了还是我安装的问题,装好后桌面选项中竟然没有"简体中文"的语言选项了,到配置文件夹里看了一会,在系统盘中搜索XML文件desktop_options.xml(例如:C:Documents and SettingsAdministratorZDEconfig_5.5 目录下的 desktop_options.xml) <customized_property ID="desktop.language

远程linux xshell下输出中文乱码解决方法_unix linux

使用xshell登录中文版CentOS或者redhat时,在xshell下如果输出的是中文的话可能会显示乱码,通过如下办法可以有效的解决乱码问题 linux中文乱码解决方法如下: 复制代码 代码如下: [root@localhost ~]# cd /etc/sysconfig/ [root@localhost sysconfig]# cp i18n i18n.bak #备份i18n文件 [root@localhost sysconfig]# echo "" >i18n [root

使用WebLogic的OTN插件时Eclipse控制台输出中文乱码解决方法

  使用WebLogic时控制台输出中文乱码解决方法1.找到weblogic安装目录,当前项目配置的domain2.找到startWebLogic.cmd文件3.打开文件,在"call "%DOMAIN_HOME%\bin\startWebLogic.cmd" %*"上面增加如下代码即可,主要是设置UTF-8啊. @ECHO OFF @REM WARNING: This file is created by the Configuration Wizard. @RE

SMARTY 中文乱码解决方法

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-