这的确是一个不正常的需求,按照规范,开发者需要将cookie进行编码,因为tomcat不支持中文cookie. 但有时候,你不得不面对这样的情况,比如请求是由他人开发的软件,比如,浏览器控件发出的. 这个时候就需要修改tomcat源码来支持了. 直接上源码 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE…
如果Cookie中的Value 中有中文字符出现,在加入Cookie的时候,会出现下面的错误: java.lang.IllegalArgumentException: Control character in cookie value or attribute. 当我们设定Cookie的Value的值得时候: cookie.setValue(ret); 改为如下方式尽心编码! cookie.setValue(URLEncoder.encode(ret, "utf-8"));使用指定的编…
代码如下: function getCookie(key){ var cookies=document.cookie; if(cookies.length>0){ var start=cookies.indexOf(key+"="); if(start<0){ return ""; } var end =cookies.indexOf(";",start); if(end<0){ end=cookies.length; } re…
在用cookie保存username的时候,发现cookie值不能存中文,报例如以下错: Control character in cookie value, consider BASE64 encoding your value 发生错误在:response.addCookie(cookie); 在曾经的编程中也碰到过这种问题,主要是cookie值里面存在非法參数,如存在"\r\n"."\n"之类的字符时就报报这种错,但我就个username啊,不存在像这些…