一直以来,Cookie里放置的是GB2312编码的中文,这样做在IE浏览器下并没有问题。
以前曾发现在苹果系统里的浏览器不能正常录入处方,当时已经估计到应该是处理Cookie时出了错误。由于苹果系统用的少,这个问题没引起重视。
今天在ubuntu 14.04桌面版的Firefox上,再次发现该问题,经过排查,确定是Firefox处理Cookie中的中文时出现解码错误。通过打印Cookie信息发现中文显示的是“锟斤拷”。
经过百度,这是著名的“锟斤拷”问题。
解决的方法非常简单,在存放Cookie时,中文全部转码为Unicode编码,在读取Cookie时,读出的中文再转回GB2312。
Unicode编码国际通用,各种主流软件都支持得很好,不会出错。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21129783/viewspace-1475129/,如需转载,请注明出处,否则将追究法律责任。
cs