Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12989796
  • 博文数量: 187
  • 博客积分: 7517
  • 博客等级: 少将
  • 技术积分: 1981
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-20 18:51
文章分类

全部博文(187)

文章存档

2015年(3)

2013年(4)

2012年(20)

2011年(2)

2010年(96)

2009年(14)

2008年(47)

2007年(1)

我的朋友

分类: 系统运维

2010-04-17 23:04:37

相信有许多ASP编程爱好者都碰到过这样的问题,在本机上测试的时候,当遇到与数据库交互时,数据库中的中文会变成乱码显示出来,而英文则不会。刚开始我的解决方法是新建一个该站点的虚拟目录,不过这只是治标不治本的办法,问题随时都会再出现,我们在享受编程带来的乐趣时当然是不能容忍这样的事情来打扰啦~~~,通过在网上查找原因,终于找到了根本的解决方法。

我上面不是说中文会出现乱码而英文不会吗?第一就应该猜想是不是编码不正确的原因!ASP默认的内部编码是Unicode,当页面没有指定的时候则有时候会出现乱码的问题(为什么是有时候我也觉得很奇怪,希望高手在评论栏中解释一下),于是解决方法就是:在连接数据库conn.asp文件中添加<%@ codepage=936%>,就可以正常显示中文。


PS:
<%@ codepage=936%>简体中文
<%@ codepage=950%>繁体中文
<%@ codepage=65001%>UTF-8797000024

codepage指定了IIS按什么编码读取传递过来的串串(表单提交,地址栏传递等)。
也指定了所有文本变量从Unicode转换到的编码,
也就指定了从数据库取出的数据从Unicode转换到的编码。

------------------------------------------------------------------------------------

UTF-8编码处理中文时主要是注意两点:
第一,在页首添加<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>我相信,如果大家用的是DW的话,只要选择的是VBSCRIPT,一般可以自动生成;
第二,在使用VBSCRIPT前,添加<%Session.CodePage="65001"%>,我是添加了这句后就好了。
-------------------------------------------------------------------------------------------------

也许你遇到过这样的问题,当我们用ASP从数据库中读取中文的时候出现乱码,我今天就遇到这种情况:

解决的办法是:

首先看你的代码中是否包含了这句代码   <

其次看一下这句代码是不是出现在连接数据库代码之前,如果不是放在连接数据库代码的前面也可能会出错,一般建议放在最顶端,这样最保险。

另外我们要加的这句代码也可能是

<" CODEPAGE="650"%> 繁体中文

<" CODEPAGE="65001"%> UTF-8797000024

这取决你使用的编码,如果你使用的编码是utf-8

那么你就用  <" CODEPAGE="65001"%>

如果你是使用的gb2312

那么你就应该用 <" CODEPAGE="936"%>

具体要看你用什么编码了。

------------------------------------------------------------------------------------------

ASP+Access UTF-8 网页乱码问题

用asp,access数据库,网页编码是utf-8。出现乱码,所有从数据库里读的中文字都是乱码。

问题解决:

<

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

一个也不能少

另外,文件要存为utf-8格式的

还有,程序不能出错,嘿嘿

要是有错误的程序,那么刚打开的时候正常的,刷新了就乱码了

这里说的出错时不会使整个页面不显示的出错。

1,<用什么内码去传输你的数据,加上这句话,就强制ASP用UTF来传输数据。

尝试在<>下加一行:

<%Session.CodePage=65001%>

阅读(991) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~