Tomcat 6.0.16 の Cookie が壊れる?

Tomcat を 6.0.16 にバージョンアップしたら Cookie が取得できなくなった。
Cookie にもバージョンがあって、デフォルトが "0" で、(javadoc より)

With Version 0 cookies, values should not contain white space, brackets, parentheses, equals signs, commas, double quotes, slashes, question marks, at signs, colons, and semicolons.

とのこと。Cookie#setValue(String)の値に「 <>({[)}]=,"/?@:;」の文字が含まれている時、Cookie#getValue() の値が途中できれてしまう。このような文字も値に含めたい場合、Cookie#setVersion(int) メソッドでバージョン 1 を指定すると大丈夫。
ただし、cookie.setVersion(1); すると古いバージョンのTomcatとの互換性がなくなるので注意。