Java JBoss 5.1.0(JSF/Seam)cookies使用重音字符爆炸

Java JBoss 5.1.0(JSF/Seam)cookies使用重音字符爆炸,java,servlets,cookies,jboss,Java,Servlets,Cookies,Jboss,我在JBoss4.2.3中看不到这种行为。如果我尝试在HttpServletResponse上调用addCookie(),并且我的cookie值中有重音字符(例如),我会遇到以下异常: Cookie值中的控件字符,请考虑Base64编码值 有人知道JBoss 5.1.0中的什么变化可能会导致这些问题吗?显然,他们修复了一个bug,因此cookie名称现在终于符合了标准 另见: 名称必须符合RFC 2109。这意味着它只能包含ASCII字母数字字符,不能包含逗号、分号、空格或以$字符开头。创建后无

我在JBoss4.2.3中看不到这种行为。如果我尝试在HttpServletResponse上调用addCookie(),并且我的cookie值中有重音字符(例如),我会遇到以下异常: Cookie值中的控件字符,请考虑Base64编码值


有人知道JBoss 5.1.0中的什么变化可能会导致这些问题吗?

显然,他们修复了一个bug,因此cookie名称现在终于符合了标准

另见:

名称必须符合RFC 2109。这意味着它只能包含ASCII字母数字字符,不能包含逗号、分号、空格或以$字符开头。创建后无法更改cookie的名称

带有cedille
ç
的c不是一个


更新:很抱歉,问题与cookie值有关。这与(JBoss在引擎盖下使用Tomcat)有关。通过如下设置cookie版本,这应该是一种变通方法:

cookie.setVersion(1);

根据旧的Netscape规范,
ç
不是cookie值的有效字符,但它符合新的RFC2109规范。使用,您可以在它们之间切换。

这个问题询问的是cookie值,而不是cookie名称。@Photodeus:我明白了。我更新了答案。谢谢你的重定时。我通过base64编码某些cookie值(并在读取时解码)解决了这个问题。我尝试将cookie版本设置为1,但这并没有解决问题。另外,根据我所读到的,在IE7中将cookie version设置为1会中断。有人知道JBoss5.1.0有什么不同吗?因为在4.2.3中,我可以毫无问题地用重音符号传递值。