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

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

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

 
 
 

日志

 
 

ASP,access数据库编码转换,GB2312转UTF8  

2009-12-28 16:25:17|  分类: 技术类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

方法: 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
      %>
      以上测试正确
      后来订阅了微软的新闻组,在微软的新闻组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>
      2比较有效

  评论这张
 
阅读(1278)| 评论(0)
推荐 转载

历史上的今天

评论

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

页脚

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