后知后觉,最近才发现WebDeployment Project这个东东,赶紧装上用用,结果把我的一个website编译完了,弄到IIS里面一看,aspx里面的中文全部乱码了。。。
经过研究,问题出在aspx文件的编码上了,我的aspx文件编码是GB2312 - Codepage 936,但是WebDeployment Project输出的aspx文件居然是UTF-8编码的,所以中文全部乱掉了。
解决方法1:用vs2005打开aspx文件,File - Advanced Save Options,选择Encoding为"Unicode (UTF-8 with signature) - Codepage 65001",保存aspx文件,这样编译后中文就不会乱码了,但是这种方法需要一个一个修改aspx文件,就几个还可以,如果有很多page的话,肯定晕菜。
解决方法2:批量转换,需要一个小工具ConvertZ,下载地址:http://alf-li.pcdiscuss.com/files/convertz802.zip。
解压缩,运行ConvertZ,先将“程式选项-转码设定-加BOM到UTF8档案"勾选上,保存配置。
鼠标移动到屏幕最上方,从主工具列中选择第一个“文件”,弹出如下对话框。
选择来源文件和目的位置,将要转换到aspx文件选中,加入到档案清单中,点击“进阶选项”,输入格式选GBK,输出格式选UTF-8,语文输出模式选简体中文,然后隐藏进阶选项,点击开始转换按钮即可。
经ConvertZ转换和vs2005修改encoding选项保存所生成的文件是一模一样的,但是ConvertZ多了批量转换的功能。
另外,我的vs2005有个诡异的问题,我在website里面新建的webform.aspx都是gb2312编码的,不知道能不能设成默认utf-8编码。我同事的那个vs2005新建的就是utf-8编码的,vs2005都是en pro的,都没打sp1,也没改什么设置,系统都是2003 server ent chs SP1,诡异。
经过研究,问题出在aspx文件的编码上了,我的aspx文件编码是GB2312 - Codepage 936,但是WebDeployment Project输出的aspx文件居然是UTF-8编码的,所以中文全部乱掉了。
解决方法1:用vs2005打开aspx文件,File - Advanced Save Options,选择Encoding为"Unicode (UTF-8 with signature) - Codepage 65001",保存aspx文件,这样编译后中文就不会乱码了,但是这种方法需要一个一个修改aspx文件,就几个还可以,如果有很多page的话,肯定晕菜。
解决方法2:批量转换,需要一个小工具ConvertZ,下载地址:http://alf-li.pcdiscuss.com/files/convertz802.zip。
解压缩,运行ConvertZ,先将“程式选项-转码设定-加BOM到UTF8档案"勾选上,保存配置。
鼠标移动到屏幕最上方,从主工具列中选择第一个“文件”,弹出如下对话框。
选择来源文件和目的位置,将要转换到aspx文件选中,加入到档案清单中,点击“进阶选项”,输入格式选GBK,输出格式选UTF-8,语文输出模式选简体中文,然后隐藏进阶选项,点击开始转换按钮即可。
经ConvertZ转换和vs2005修改encoding选项保存所生成的文件是一模一样的,但是ConvertZ多了批量转换的功能。
另外,我的vs2005有个诡异的问题,我在website里面新建的webform.aspx都是gb2312编码的,不知道能不能设成默认utf-8编码。我同事的那个vs2005新建的就是utf-8编码的,vs2005都是en pro的,都没打sp1,也没改什么设置,系统都是2003 server ent chs SP1,诡异。
浙公网安备 33010602011771号