Web 开发中的中文解决方案

本文介绍了解决中文Cookie在保存及读取过程中出现乱码的方法。通过使用URLEncoder.encode方法进行编码,以及URLDecoder.decode方法进行解码,确保了中文Cookie能够正确地被处理。

1,  中文Cookie问题,由于Cookie的编码问题,导致在保存中文的Cookie时,不能正常保存。

解决方案:

第一步:保存中文的Cookie之前做一下编码,用到了java.net包下的一个类的方法:URLEncoderencode(String s, String enc)方法,次方法有两个参数,第一个参数为要编码的中文字符,第二个为要编码的方式如:utf-8gb2312GBK等编码方式。

第二部:读取中文的Cookie,由于我们在保存中文的Cookie时,用到了指定编码的方法进行保存,所以的读取的时候要做一下解码。这时就用到了java.net包下的另一个类,URLDecoderdecode(String s, String enc)进行解码。具体实例如下:

保存中文Cookie

       String name = "张三";

       //保存Cookie之前指定编码

       name = URLEncoder.encode(name,"utf-8");

       Cookie nameCookie = new Cookie("name", name);

       response.addCookie(nameCookie);

   

获取中文Cookie的内容:

Cookie[] cookies = request.getCookies();

       for(Cookie cok:cookies){

           String name = cok.getName();

           if("name".equals(name)){

              String zhongwenName = cok.getValue();

              //获取中文的Cookie时,做一下解码(反编码);

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

           }

       }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值