回 帖 发 新 帖 刷新版面

主题:[讨论]发现一个问题,ASP.net在编码处理中比ASP烦

为了比较,我写了四个文件,
两个是ASP的:test_gb.asp和test_utf.asp
两个是ASP.Net的:test_gb.aspx和test_tuf.aspx
==========================
test_gb.asp和test_utf.asp代码如下:
---------代码开始---------
<form name="form1" method="post" action="">
<input type="text" name="sname">
<imput type="submit" name="Submit" value="提交">
</form>
<%
If Request.Form("sname") <> "" Then
  Response.Write(Request.Form("sname"))
End If
%>
---------代码结束---------
实际上这两个文件除了编码不同,实质内容都一样,
在文本框里输入几个汉字,点一下按钮,
下面直接显示了你刚才输入的文字,
不管是gb还是tuf-8都显示正常,
也就是说,post的内容在最后显示的时候会自动转换成需要的编码。
==========================
test_gb.aspx和test_utf.aspx代码如下:
---------代码开始---------
<script language="VB" runat="server">
Sub BtnClk(sender As Object, e As EventArgs)
  msg.Text = sname.Text
End Sub
</script>
<form id="form1" runat="server">
<asp:textbox id="sname" runat="server" />
<asp:button id="tbtn" runat="server" Text="提交" OnClick="BunClk" />
</form>
<asp:label id="msg" runat="server"></asp:label>
---------代码结束---------
这两个文件除了编码不同,实质内容都一样,
在文本框里输入几个汉字,点一下按钮,
test_utf.aspx显示正常
test_gb.aspx显示乱码
也就是说,我想要采集用户的输入内容并且显示出来,
要么用utf-8编码,要么亲自进行编码转换。
==========================
ASP.Net不像ASP那样自动转换编码,是出于什么考虑?

回复列表 (共1个回复)

沙发

ASP.NET根据Page元素的ResponseEncoding等编码属性决定输入输出编码格式
这样不容易乱

保证对应的编码方式是不会出现乱码现象的。
当然,依然推荐utf8,像javascript浏览器兼容性最好自然是utf8喽

我来回复

您尚未登录,请登录后再回复。点此登录或注册