|
网站用asp做的,,后台添加到数据库(access),添加进去就出现乱码英文显示正常,中文全是???问号,页面编码都检查过用的都是 gb2312 不知道问题出哪?
我说说我自己的一些心得,假设我添加的页面是"input.asp",然后,里面又用"<!--#include file="b.asp"-->命令包含了"b.asp"进来,好了,当"input.asp"的编码为GB2312而"b.asp"的编码为其它时,也是会出现乱码的,得把所有包含进来的页面都设置为GB2312,如果不确定,那么可以复制"<meta http-equiv="Content-Type" content="text/HTML; charset=gb2312" />"这句代码粘贴到每个包含进来的页面的HTML标记语言中,然后按F5刷新一下,至于行不行嘛,我也不好说,我出现乱码的都是页面的调出数据编码不一样而导致的,而数据库里面的话,就不知道行不行了,试试咯.
最近一个客户要求将网站传到香港的服务器上,结果出现如下问题:
后台非程序生成的文字可以显示。但程序生成的文字就只有E文可以显示了,中文全是?号。
前台一切正常。
我的解决办法是在出现乱码的页面开头加上:
<%@ language="vbscript" codepage="936" %>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
网上其它相关资料:
A、消除链接Access文件的乱码
由于国外的免费主页空间容量大、而且支持ASP,于是许多朋友都使用这类主页空间,不过国外的ASP服务器一般不支持中文数据库,因此假如你的网页上有一个链接指向Access数据库文件,当你点击该链接打开Access文件时,文件中的中文内容就会显示乱码。
为了消除这种乱码,你可以在链接数据的那个文件中加入下面的句子:
<%@ language="vbscript" codepage="936" %>
假如还不能消除乱码,请将你的数据库版本改为Access97,这样即可让国外ASP服务器支持中文数据库,从而消除乱码了。
B、godaddy虚拟主机access数据库中文乱码的解决方法
非程序生成的文字可以显示。但程序生成的文字就只有E文可以显示了。中文全是?号,这是数据库乱码引起的
那么解决方法可以考虑如下:
方法一:
使用 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" %>
<html>
<head>
<meta http-equiv="Content-Type" c>
</head>
方法三:
添加一个config.web文件到
web目录下,
建立一个文件config.web,内容如下,放在WEB目录下
<configuration>
<globalization
requestencoding="utf-8"
resp
/>
</configuration>
C、ASP读取ACCESS数据库中文显乱码的问题!
刚刚发现自己站点读取数据库时候出现乱码..就在网上找了点原因解决方法:
直接打开ACCESS数据库查看内容没有乱码,可是asp从ACCESS数据库中读取出来的中文全是乱码。页面<HEAD>中也加了
<META http-equiv=Content-Type content="text/html; charset=gb2312">
原因:是少了这句
<[email=%@LANGUAGE="VBSCRIPT]%@[/email]" CODEPAGE="936"%>
<[email=%@LANGUAGE="xxx]%@xxx[/email]" CODEPAGE="936"%>
一般又分为<[email=%@LANGUAGE="VBSCRIPT]%@[/email]" CODEPAGE="936"%>和<[email=%@LANGUAGE="javascript]%@[/email]" CODEPAGE="936"%>两种。LANGUAGE="VBSCRIPT"和LANGUAGE="javascript",申明ASP当前使用的编程脚本分别为VBSCRIPT和javascript。一般在程序第一行进行申明。当使用该脚本申明后,以下所有程序运用全得符合该脚本语言的所有语法,两者不能混淆使用,否则出错。我们在写ASP时,一般不做限定,因为经常会在一ASP页面写不同的脚本,当然这也是以牺牲执行效率为代价的。
CodePage:可读/可写。整型。定义用于在浏览器中显示页内容的代码页。代码页是字符集的数字值,不同的语言使用不同的代码页。例如,ANSI代码页为1252,日文代码页为932,简体中文代码页为936。一般情况下,当你上传到国外网页空间,或者提取数据库记录等出现乱码时,就采用这种方法解决。 |
|