日期:2014-05-16  浏览次数:21172 次

ASP整站GB2312转为utf-8的问题
本帖最后由 cegzceo 于 2012-10-09 19:46:45 编辑
我网站原来是ASP gb2312版的,最近我想把它转为utf-8版的。大致作如下修改:

1,把整站的gb2312替换utf-8

2,把整站的CodePage=936替换为CodePage=65001

3,然后在整站ASP文件第一行加上
<% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %> 
<% Session.CodePage=65001 %> 
<% Response.charset = "utf-8" %>

代码

4,所有js、asp、html文件都用DW打开后修改编程属性为utf-8.


如此操作后,上传到服务器后,就会造成HTTP 500 内部服务器出错。

查来查去,如果让服务器不出错,那么,conn.asp、md5.asp、base64.asp等几个文件开头不能加上
<% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %> 
<% Session.CodePage=65001 %> 
<% Response.charset = "utf-8" %>

这个代码。

只要一加这个代码,服务器就会出错,而不只是乱码。

如果不加这些代码,只修首页index.asp(见下面的代码)文件的话,首页上数据库的输出数据可以正常显示,但字体莫名其他变为粗体字。其他index.html静态部分的中文字体全部乱码。

如果把index.asp(见下面的代码)文件为把前面的四行代码去掉(除了conn.asp、md5.asp、base64.asp、index.asp几个文件外,其他文件全部已经改为utf-8格式的),首页上数据库的输出数据显示乱码。index.html静态部分的中文字体全部显示正常,但字体莫名其他变为粗体字。

首页index.asp代码:
<% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %> 
<% Session.CodePage=65001 %> 
<% Response.charset = "utf-8" %>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<%
IF Request.Cookies("S_UserCooikes")("S_AdminUserName")<>"" Then
Application.Lock()
Application.Contents.RemoveAll()
Application.UnLock()
End IF
%>
<!--#Include File="chshk/label.asp"-->
<!--#Include File="chshk/md5.asp"-->
<%
    IF S_IsInstall=0 Then Call Alert("你还没有进行安装,点击进入安装界面!","install/install.asp",2):End IF
IF S_Webmode=0 And Fso.CheckFile("index.html") Then
Response.Redirect("index.html"):Put ""
End IF
Echo Label.GetTemp("index.html",0)
%>



在网上人人都说在conn.asp上添加那几行代码就好,可我一加了那几行代码,服务器就会出错。汗!

求高手解答!谢谢!
------解决方案--------------------
MSSQL?那数据库也要变为UTF-8啊,不过,不是很麻烦,用几条SQL语句应该就可以。你到MS-SQL Servr板块问一下先