今晚我一网站程序突然停摆,报错误为某一转换语句:Convert.ToInt32(XXX,10);,此网站以前一直正常工作,经过跟踪检查,发现是变量为空 null,很奇怪的是,此变量是从Cookie内取出的,再将cookie读写后的数据检查后发现,写入一切正常,但读取时,如果写入的内容内有汉字,读取时汉字是乱码,从而导致汉字后的cookie也不能正常读取,至此可以肯定是由于汉字乱码引起的,但我的Web.Config是 <globalization requestEncoding="gb2312" responseEncoding="gb2312" />
,页面也是GB2312。
,页面也是GB2312。
经过Google的搜索,用其它方法解决:在写入cookie前,将内容用HttpUtility.UrlEncode进行处理,读取后,再用HttpUtility.UrlDecode进行还原,搞定!!!