由asp.net提交到asp页面,中文乱码的问题。。。

yjphere 2008-07-01 12:07:43

在一个asp.net 页面中,submit到另外一个asp 。在asp中通过request("text1")的形式读出 文本框里的值。如果是英文字符的正常,如果是中文字符的话,得到的值会是乱码。

其中,asp.net页面在和asp页面的编码是相同的,都是gb2312编码的。。。

请问各位好心的大哥大姐,这个问题,如何解决呢???
...全文
102 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjphere 2008-07-01
  • 打赏
  • 举报
回复
二楼的哥哥,两个页面都是采用 GB2312 的了。。
halk 2008-07-01
  • 打赏
  • 举报
回复
应该是因为使用程序往页面写汉字了。页面上标明charset=gb2312只是告诉客户端:本页面上凡是遇到汉字,都用gb2312解码。而.net的string对象默认编码格式是utf8,因此造成了不一致。
解决办法有很多种,最简便的是更改web.config的配置,<globalization requestEncoding="utf-8" responseEncoding="utf-8"/> 将“utf-8”改为“GB2312”
wsxqaz 2008-07-01
  • 打赏
  • 举报
回复
有个urlCoding(具体名字我不记得了你可以搜索一下)的方法你要将连接中的中文内容coding掉才可以(特别是你在用url后跟参数的方法转直的时候)
halk 2008-07-01
  • 打赏
  • 举报
回复
晕!是我先给答案的。
yjphere 2008-07-01
  • 打赏
  • 举报
回复
搞定。七楼的兄弟正解!!!
眼里进了砂 2008-07-01
  • 打赏
  • 举报
回复
<globalization requestEncoding="utf-8" responseEncoding="GB2312"/>
这个要改,你用asp.net传过去的默认就是unicode的,先改过去看看
xierfly 2008-07-01
  • 打赏
  • 举报
回复
那你就利用vserver.htmlencode 把中文给解析了,然后在再asp页面中解析回来就可以了,一般情况下不会传递中文字的。
halk 2008-07-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yjphere 的回复:]
二楼的哥哥,两个页面都是采用 GB2312 的了。。
[/Quote]

别管页面怎么着,先改这个看看是否解决了。更改web.config的配置, <globalization requestEncoding="utf-8" responseEncoding="utf-8"/> 将“utf-8”改为“GB2312”
yjphere 2008-07-01
  • 打赏
  • 举报
回复
aspx中sumit到asp页面:

<form name="form2" action="http://www.xxx.com/search.asp" method="post">
<tr>
<td width="51" align="right"><img src="images/xing.GIF" width="24" height="24" /></td>
<td >/td>
<td width="347"><input name="word" id="word" type="text"/></td>
<td width="97" align="center">
<input type="submit" value="" style="border:0px;cursor:hand;width:81px;background-image:url('images/jinluqianzi.GIF');height:23px" /> </td>
</tr></form>


search.asp的代码:

sql="select * from member where name like'%"&request("word")&"%' "

如果输入框的值是中文,在search.asp中得到的值是乱码。。。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧