神奇的间歇性文件乱码问题

我想我刚刚遇到了一个神奇的问题。
具体问题是这样的:整个页面都没有什么问题,唯独某个UserControl内的中文出现了乱码,同一个页面上的其它地方都正常;这个乱码还不是在浏览器中的编码问题,而是在生成的HTML源码中乱码;它乱码也还不是整个UserControl都乱码,而是从某个div后面开始乱码;如果说这还不够神奇的话,我重新建了个UserControl,把原来的前后台代码都复制过去重新调用一遍,问题竟然解决了,而这里面的不同仅仅在于UserControl的名字不同;如果还是不够神奇的话,后来我把那个有问题的UserControl删除后又重新用原来的名字建了个,也把前后台代码都复制回去,竟然又不乱码了……
虽然问题是解决了,但百思不解,于是把这个问题发到一个技术讨论群上。不久后某位告诉我,是文件字符编码的问题,并发给我一个选择保存文件编码的截图:
 
他说可以从File菜单下找到这个选项。我找了一下,的确可以。
 正好这个时候,我正在用WinMerge对比新旧两个文件,有所发现:
我把删除的.ascx文件从回收站拉回桌面后跟新建的.ascx文件用WinMerge比较一下,结果,凡是有中文的地方都标黄了,但我用肉眼是看不出有任何区别。如下图:
于是可以得出结论:VS2008自动把我的文件保存成别的编码了!
我想,任何一个程序员遇到这样的问题都是很抓狂的,因为我根本没有打开过那个选项(谁会那么无聊啊?)。我想这可能是VS2008的某个BUG吧,或者说,是“功能”?
算了,吃一堑长一智,以后遇到同样的问题,懂得处理就行了。
阅读(335)   发表评论     posted on 2010年3月30日 20:32

发表评论

请输入下面的内容:

Please add 2 and 3 and type the answer here: