加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_常德站长网 (https://www.0736zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

如何将整站asp程序由gb2312转为utf-8编码

发布时间:2022-10-05 16:12:37 所属栏目:Asp教程 来源:
导读:  现在国际化是大趋势,对于asp程序来说,就是采用utf-8编码。然而,由于历史等原因,现在国内许多主流的asp程序依然采用gb2312编码,实在是不利于国际化推广。

  那么能不能将asp整站程序由gb2312编码转换为
  现在国际化是大趋势,对于asp程序来说,就是采用utf-8编码。然而,由于历史等原因,现在国内许多主流的asp程序依然采用gb2312编码,实在是不利于国际化推广。
 
  那么能不能将asp整站程序由gb2312编码转换为utf-8编码?
 
  下面我就以老Y文章管理系统为例,向大家说明如何将asp整站程序由gb2312编码转换为utf-8编码。
 
  第一步、将程序中所有的文本类文件编码格式由gb2312转换为utf-8
 
  所谓文本类文件包括asp、htm、html、css、js、txt等可由记事本打开的程序。
 
  文件编码格式转换有许多工具。推荐使用本人制作的阿海文本文件工具箱(),可以进行批量转换。此工具还有许多其他功能,这里说不多介绍了。
 
  第二步、将网页中指示为gb2312编码的代码全部改为utf-8编码
 
  下面列出需要修改的代码
 
  Gb2312
 
  Utf-8
 
  charset="gb2312"
 
  charset="utf-8
 
  Codepage="936"
 
  Codepage="65001"
 
  Response.codepage="936"
 
  Response.codepage="65001"
 
  Response.Charset="gb2312"
 
  小偷程序asp_一马cms asp伪静态源码程序10_ASP程序
 
  Response.Charset="utf-8"
 
  adodb.stream.Charset="gb2312"
 
  adodb.stream.Charset="utf-8"
 
  此外,还有FileSystemObject对象的CreateTextFile方法要注意,将第三个参数加上并设为true。CreateTextFile方法参考见最后。
 
  完成前两步后,网站应该可以做为utf-8网站运行了。不过如果以为这样就大功告成了,那就大错特错了,还要完成第三步。
 
  第三步、加上缺少的必要代码
 
  Response对象默认使用的字符集为本地字符集,很多程序员在使用Response对象时都不指定其字符集,这在gb2312编码时没问题,但当转为uft-8时ASP程序,就会经常出现乱码了,尤其是使用response.write语句时。因此,为了保证不出现乱码,应确保使用response对象时均明确指定了字符集,即是否调用了
 
  Response.codepage="65001"
 
  Response.Charset="utf-8"
 
  这两个语句。
 
  完成了这三步,那么恭喜你,基本上就完成了转换了,赶快运行测试吧。
 
  如果有哪位高人还发现了其他要修改的,请告诉大家,以便更好的提高完善。
 
  附:CreateTextFile方法参考:
 
  CreateTextFile方法
 
  创建指定文件并返回TextStream对象,该对象可用于读或写创建的文件。
 
  object.CreateTextFile(filename[,overwrite[,unicode]])
 
  参数
 
  object
 
  必选项。应为FileSystemObject或Folder对象的名称。
 
  filename
 
  必选项。,指明要创建的文件。
 
  overwrite
 
  可选项。Boolean值指明是否可以覆盖现有文件。如果可覆盖文件,该值为True;如果不能覆盖文件,则该值为False。如果省略该值,则不能覆盖现有文件。
 
  unicode
 
  可选项。Boolean值指明是否以Unicode或ASCII文件格式创建文件。如果以Unicode文件格式创建文件,则该值为True;如果以ASCII文件格式创建文件,则该值为False。如果省略此部分,则假定创建ASCII文件。
 
  说明
 
  以下代码举例说明如何使用CreateTextFile方法创建并打开文本文件:
 
  SubCreateAfile
 
  Dimfso,MyFile
 
  Setfso=CreateObject("Scripting.FileSystemObject")
 
  SetMyFile=fso.CreateTextFile("c:/testfile.txt",True)
 
  MyFile.WriteLine("这是一个测试。")
 
  MyFile.Close
 
  EndSub
 
  对于filename已经存在的文件,如果overwrite参数为False,或未提供此参数时,则会出现错误
 

(编辑:应用网_常德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!