百度空间 | 百度首页 
 
查看文章
 
UTF-8编码的ASP页面读取数据库的汉字时显示乱码解决办法
2009-06-27 10:23

UTF-8编码的ASP页面读取数据库的汉字时显示乱码解决办法

前两天做了一个英文站,一直在发愁一个问题,那就是我明明在页面META中用UTF8声明了页面编码,如下:


  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

  但是读取数据库中的汉字的时候,显示却都是乱码,不过如果汉字如果不是从数据库中读取的则可以正常显示。后台使用了gb2312编码,显示的也正常。

开始以为是数据库里面数据类型设置的问题的原因,找了好久也没有解决问题。郁闷了两天,最后终于找到问题所在,http://www.5201320.com

  ASP中要改成UTF-8编码不只改一下页面的字符设置,如果是动态页面,要从数据库中读取汉字。还要在编码声明里设置为UTF-8,拿ASP来说。

  <%
    '—————常规设置————–

    Option Explicit

    Response.Buffer = True           '是否打开缓存

    Session.CodePage = 65001 '脚本UTF-8编码

  %>

  所以对于动态页面中使用UTF-8编码,既要在页面中声明页面的编码为UTF-8,还要在程序的全局设置中声明脚本的编码为UTF-8。

这个就是页面编码的问题。
一般做程序第一步是设定数据库连接页和一些常量变量的页面,比如我经常用conn.asp文件,这个文件放在所有页面的顶部,用include来包含。
最先的一步还是在conn.asp顶部加上如下代码:
<%@ codepage=936%>
<%Response.Charset="gb2312" %>
<%Session.TimeOut=20
Server.ScriptTimeOut=5000
定义了页面编码和一些信息的过期时间。
而特别是utf-8页面,保存时要特意选择保存格式。
所以楼主和其他一些对编码未特别留意过的朋友要通过此帖记住了。


类别:网络知识分享 | 浏览() | 评论 (1)
 
最近读者:
 
网友评论:
1
2009-07-20 08:55 | 回复
不用那么麻烦啊,我就定义一个meta。就搞定了啊。
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu