tomcat cookie中文编码问题,有遇到朋友吗

在javaweb中使用Cookie经常会出现乱码问题

解决方法:对中文进行编码和解码

}

前段时间一个同事在项目那边日誌中报了很多警告内容是如下这样:

       通过警告的内容可以看出这个是由于cookie中有中文导致的。同事那边判断为子账号登录中文并未转码所致由于这段时间正在看tomcat的源码,那就来分析一下cookie有中文为什么会抛出这个异常吧!    



这里我敲了一个“我”字



打印在控制台的信息是:

       這个判断的意思是,如果字符的ascii 小于16进制的20和大于等于16进制的7f,并且不等于16进制的9就会抛出这个异常翻译一下为:如果这个字符的ascii代码不茬 [32,127)并且ascii代码不等于9(对应ascii的制表符)就会抛出这个异常。


查了一下http规范在RFC2965文档上有这么一段:


 网上查了一段cookie的规范也提到:


由此可见tomcat这么限制是遵循http规范的至于为什么没有把所有的ascii全部涵盖进来,这个还没有仔细研究有知道的可以分享一下。

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信