注册 登录
编程论坛 ASP技术论坛

help! help!被中文乱码搞得我忙活了一晚上了还没解决啊<已解决,谢谢大家>

小树不修不直溜 发布于 2008-08-28 19:43, 1096 次点击
我是刚学ASP的.今天做了一个例子,是用dreamwerver cs3做的.发现出了问题.
就是下面的代码.
第一次访问能正常显示:"您还没有订购"
然后我选了几个按提交就出现乱码了.
就是显示这样的乱码:
����������ˮ�����&pound;�
就是在ASP部分里才会显示乱码.象上面那行不在ASP标签里面的中文"请选择水果"就不会变成乱码.
我试了好多方法,在网上搜了一晚上了都没找到结果.
哪位大虾能帮帮我,小弟在此先行谢过!

程序代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. xmlns="http://www. http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>



<p>请选择水果:</p>

 <hr/>
<form name="form1" method="get" action="">
  <label>
  <p>
  <input type="checkbox" name="checkbox" value="苹果" />
  苹果</p>
  </label>

    <label>
    <p>
    <input type="checkbox" name="checkbox" value="香蕉"/>
    香蕉</p>
    </label>
   
    <label>
    <p>
    <input type="checkbox" name="checkbox"  value="梨"/>
    梨</p>
    </label>

    <label>
    <input type="submit" name="button" id="button" value="提交" />
    </label>

</form>
  <hr/>
  <%


 if request.QueryString("checkbox")="" then
response.Write("您还没有订购")
else

 

 response.write("您所订购的水果如下:"&"<br>")

 for each fruit in request.QueryString("checkbox")

 response.write("<font color=green>"&fruit&"</font><br>")

 next
end if

%>


[[it] 本帖最后由 小树不修不直溜 于 2008-8-29 18:35 编辑 [/it]]
8 回复
#2
shy00002008-08-29 08:54
1、<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
改成
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>

2、<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
改成
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
#3
dxformat2008-08-29 09:22
charset=utf-8
不错,原因就出在这里,我以前也曾被这个问题困扰过
#4
hmhz2008-08-29 09:38
最基础的网页编码都搞不清楚,真是败给你了

什么<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>和<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>都是束缚,我从来不要这些东西

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>是声明该程序是VBSCRIPT类型的
你的站点只要支持asp,这段根本就不需要声明了,纯粹是多此一举
#5
multiple19022008-08-29 09:40
什么什么呀

楼主的程序看起来应该是Unicode格式的,既然访问是乱码,应该是文件没有存储为Unicode格式(而存成了ANSI格式),你居然直接改成gb2312了,这个思路不值得提倡……
#6
2008-08-29 09:44
utf-8是国际标准,

我试过在UTF-8的页面里显示GB2312中文是可以的,只要声明UTF-8,用UTF保存就不会出现乱码。
#7
小树不修不直溜2008-08-29 18:11
我用的是dreamweaver cs3自动生成的文件头代码
那是不是我以后每创建一个文件都要改这两个啊~

1、<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
改成
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>

2、<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
改成
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
#8
multiple19022008-08-29 18:13
[bo][un]小树不修不直溜[/un] 在 2008-8-29 18:11 的发言:[/bo]

我用的是dreamweaver cs3自动生成的文件头代码
那是不是我以后每创建一个文件都要改这两个啊~

1、
改成


2、
改成
 

还没完

文件要存成Unicode格式编码。要不然编译器读不懂。
#9
小树不修不直溜2008-08-29 18:33
谢谢大家,我找到原因了!
原来DW自动生成的代码是不会产生乱码的.
我这个产生乱码的文件是multiple1902说的那样文件保存成ansi格式了.
我重新建一个文件然后把代码原封不动的复制过去,再查看一下也不会出现乱码了.
1