注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

上海seo顾问网站优化搜索引擎优化

上海seo咨询顾问,网站优化搜索引擎优化服务,google优化,网站优化公司

 
 
 

日志

 
 

ASP access编码 GB2312转UTF8  

2009-12-29 22:37:17|  分类: 技术类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
access数据库编码转换
      response.codepage=936
      response.charset="gb2312"
      Set conn = Server.CreateObject("ADODB.Connection")
      connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
      Server.MapPath("news.mdb")
      conn.open connstr
           set rs=server.CreateObject("ADODB.RecordSet")
           sql="select title,author,keyword from PE_Article"
           rs.open sql,conn,1,3
      do while not rs.eof
           rs("title")=xx(rs("title"))
           rs("author")=xx(rs("author"))
           rs("keyword")=xx(rs("keyword"))
           rs.movenext
      loop
      rs.updateBatch
      rs.close
      set rs=nothing
      conn.close
      set conn=nothing
      function xx(fileContent)
           dim stm
           set stm=Server.CreateObject("adodb.stream")
           stm.Type=2
           stm.Mode=3
           stm.Charset="GB2312"
           stm.Open
           stm.WriteText fileContent
           stm.Position=0
           stm.Charset="UTF-8"
           xx = stm.ReadText
           stm.Close
           set stm=nothing
      End function
      %>
      以上测试正确
      ----------------------------------------------------------------------------------------
         前几天有个朋友从国外买了一个ASP空间,今天把网站上传之后发现所有从access数据库读取的数据都是乱码,实在找不到好的解决方法后过来问我。
      具体情况是这样的:
      非程序生成的文字可以显示。但程序生成的文字就只有E文可以显示了,中文全是?号。
      可惜我用asp的那阵没用过国外空间,还真没碰到过ASP读取access数据库出现乱码的情况,所以没有办法,只好去网上找,网上各种各样的说法很多,但是最终还是归结了三种解决方法,列在下面,以备后用:
      方法一:
      使用 Microsoft Access 2000 打开数据库,选择工具菜单>数据库实用工具>转换数据库>到早期 Access 数据库版本。OK!
      方法二:
      后来订阅了微软的新闻组,在微软的新闻组dotnet.framework.aspplus.general中发现有讨论这
      个问题的文章,方法为添加<%@ CODEPAGE = "936" %>到每一页的开头,有点类似于jsp中的
      <%@ page c%>
      赶紧测试了一下,果然OK!!!
      例子如下面所示:
      <%@ CODEPAGE = "936" %>
      <%@ Import Namespace="System.Data" %>
      <%@ Import Namespace="System.Data.ADO" %>
      <%@ Import Namespace="System.Globalization" %>
      <meta http-equiv="Content-Type" />
      方法三:
      添加一个config.web文件到
      web目录下,
      建立一个文件config.web,内容如下,放在WEB目录下
      <configuration>
      <globalization>
      requestencoding="utf-8"
      resp
      />
      </globalization>
      对于第一个解决办法,可能会出现转化不成功等情况;第二种方法的弊端就是要修改很多的asp文件;第三种方法好像是对asp.net的程序起作用,asp.net我还真没用过,不好妄加评论。
      这三种方法适用于access数据库出现乱码的问题,对于整个网页都出现乱码的问题,请检查你的页面代码里面是否在meta标签里面设定了编码。如:
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
      '下面引用自http://hi.baidu.com/worldit/blog/item/587f723e7259dd3970cf6cd8.html
        测试方法一不管用
      --------------------------------------------------------------------------------------------
      非程序生成的文字可以显示。但程序生成的文字就只有E文可以显示了。中文全是?号,这是数据库乱码引起的,解决方法可以考虑如下:
      GoDaddy网站:www.godaddy.com
      方法一:
      注意:操作数据库前一定要备份。
      使用 Microsoft Access 2000或者2003 打开数据库,选择工具菜单>数据库实用工具>转换数据库>到早期 Access
      数据库版本,如Access97!转换后重新上传即可。
      方法二:
      注意备份原程序
      代码:
      <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
      如果下面<%@ CODEPAGE = “936″ %>这个不行,可以试试上面这句代码。
      在微软的新闻组dotnet.framework.aspplus.general中发现有讨论这个问题的文章,方法为添加<%@ CODEPAGE =
      “936″ %>到每一页的开头,有点类似于jsp中的<%@ page c%>。
      例子如下面所示:
      <%@ CODEPAGE = “936″ %>
      <%@ Import Namespace=”System.Data” %>
      <%@ Import Namespace=”System.Data.ADO” %>
      <%@ Import Namespace=”System.Globalization” %>
      <html>
      <head>
      <meta http-equiv=”Content-Type” c>
      </head>
      方法三:
      添加一个config.web文件到web目录下。建立一个文件config.web,内容如下,放在WEB目录下
      <configuration>
      <globalization
      requestencoding=”utf-8″
      resp
      />
      </configuration>
      一般方法1和2比较有效
      '--------------------以上正确
  评论这张
 
阅读(664)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017