原来的ASP代码和数据库都是GB2312的,现在流行UTF-8,所以新写代码时DIV+CSS页面部分是用UTF-8代码写的,一切正常,不过在连接程序时才发现,代码不一样,估计肯定会出错,所以改代码吧,直接用Dreamweaver将GB2312换成UTF-8,如果代码段中没中文,尤其没有SCRIPT段之类的运行正常,结果一遇到有的就麻烦了。找了一下午的转换工具呀,代码函数之类的,才发现网上找点实用的东西太难了,介绍的函数估计有用,但是整站代码修改都是不现实的,太麻烦。资料看了个乱七八糟,也不知谁对谁错,不过终于让我解决了。呵呵,本来懒得写BLOG的,不过要分享下经验,免得再有朋友一样麻烦。其实解决的办法很简单,一定要有两句话<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
第一步:第一句最重要(关键是CODEPAGE="65001",就表示是UTF-8编码的)每一页都要有,放在最上面,如果要连接数据库的可以放在CONN的最上一句,然后第一个加上CONN;不连数据库的要手动加上。第二步:先不要急着用,问题还没解决,加上那一句后,用DW打开源文件,此时编码是GB2312的,如果有META。。。charset=gb2312'>那句的就直接修改,如果没有的就拷一句放在第二行(也就是第一句的下面,这个不是一定要,但估计这样做最好,我也没试),保存一下,此时注意了将DW由代码显示转到设计视图显示,再转回到代码视图,这回会发现字符的样式有变化了,而且还需要再保存一次。呵呵,由DW的转换就完成了。(如果该页只是程序段又没有中文,转换后也可以将meta的那一句删掉,但建议保留)每个文件都如上操作一次,代码就不需改动就可以实现到UTF-8的转换了,而且数据库也不需要转。我的代码全部测试通过了,分享一下,希望对别人有所帮助。当然不足之处也请见谅!
首先将程序的所有文件由ANSI编码转为UTF-8,这个工作可以通过记事本的另存为完成。
之后将所有文件中的<%@LANGUAGE=”VBSCRIPT” CODEPAGE=”936″%>和<%Session.CodePage=936%>之类的涉及编码的代码改为:<%@LANGUAGE=”VBSCRIPT” CODEPAGE=”65001″%>和<%Session.CodePage=65001%>。其中CodePage和编码的对应如下:<%@ codepage=936%>对应charset=GB2312
<%@ codepage=950%>对应charset=big5
<%@ codepage=65001%>对应charset=utf-8根据我的经验,经过这两步转换即可将GB2312转为UTF-8了