代码改变世界

今天解决了一个很郁闷的问题!

2007-04-01 22:50  w i n s o n  阅读(386)  评论(4编辑  收藏  举报

好不容易花了2天时间做好了几个网站的界面,由于基本上都是基于DIV CSS布局的,所以做起来比较麻烦。界面做好后,就要将其移植到ASP.NET项目里,但发现一个非常奇怪的问题,就是在HTML里界面非常正常,但只要移植到ASP.NET后就马上面目全非了,代码是完全一样的,就算是直接将HTML后缀名改成ASPX的也不行,不管怎么调都不行,这可是我花了差不多2天时间才做好的界面啊,难道这样就要放弃吗?

经过各种方法尝试后,我再分别将2种代码另存为2个文件然后进行比较,发现根本是一模一样嘛,晕死,到底是什么问题引起的呢?后来我偶尔注意到在文件比较器里,ASPX代码的文件编码居然是UTF-8,而HTML的代码的编码是ANSI,这是2者唯一的不同之处,原来ASPX文件默认会将文件代码保存为UTF-8格式的(就算已在页面中明确声明为GB2312),本来在一般的应用中,是感觉不出有什么问题的,但由于我用的是DIV CSS布局,所以对编码要求非常重要,只要编码不同,显示出来的效果就会完全不一样啦!

发现问题后就好解决啦,这时只要在ASPX页面的PAGE里加入以下语句

ResponseEncoding="gb2312"

问题就马上解决啦!

唉,就这么一个小问题,折腾了我一个晚上,郁闷!