当前位置:编程学习 > C#/ASP.NET >>

【求教】WebRequest HTTP提交乱码的问题。

目前网站使用 "utf-8" 编码,

我使用WinForm的WebRequest在POST数据的时候,已经对需要POST的数据中的带中文的值先使用UTF8进行编码,编码后和服务器一致(之前用Http拦截到POST的数据),但是服务器收到后存进数据库,显示出来的时候就是乱码了。

我在对方的网站上直接填写的表单后,显示出来的却不会乱码,

可能我表达得不清楚,就是说我发送出去前,肯定对数据做了UTF-8的编码,且可以确定如果通过IE来填写表单并提交,IE也是对其中的中文进行UTF8编码后再发送给服务器,那么是什么原因可能导致我使用Winform来模拟提交和用IE8提交 不同的方式来提交相同的数据,结果对方网站收到的就是乱码而使用IE来提交的时候却不会乱码呢?

很纠结。

Dim post As String = "verifycode=&loginNameCache=" + userName + "&from=&xm=" + System.Web.HttpUtility.UrlEncode(xm, System.Text.Encoding.UTF8).ToUpper + "&gender=" + sex + "&credentialType=SFZ&credentialNumberCache=&credentialNumber_ajax_res=0&credentialNumber=" + credentialNumber + "&nickname=" + System.Web.HttpUtility.UrlEncode(xm, System.Text.Encoding.UTF8).ToUpper + "&birthday=" + Mid(credentialNumber, 7, 4) + "-" + Mid(credentialNumber, 11, 2) + "-" + Mid(credentialNumber, 13, 2) + "&liveCity1=11&liveCity=160&mobilePhoneCache=&mobilePhone_ajax_res=0&mobilePhone=&needphone=0"

这是POST的数据,其中xm这个是中文的。乱码也是这个。 --------------------编程问答-------------------- 你这string让我看的眼花,,可以使用string.format或者stringbuilder.AppendFormat....

你用默认编码试试,还有,你这个是不是URL,URL可以用UrlEncode() --------------------编程问答-------------------- POST 中文 要加码解码的
Server.UrlEncode()   
Server.UrlDecode()



方法二:(仅适用于后台传递)
 
设置web.config文件
 
<system.web>  
......  
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />  
......
 
</system.web> 
--------------------编程问答-------------------- 不是楼上的大哥们,上面这串是POST数据,面数据有使用UrlEncode,只是中文不管用什么来编码,对方收到的都是乱码,只是乱得不一样。GB2312,UTF8,都试过了,而且确认我POSt的数据和通过网页上提交表单所POST的数据是完全一样的。包括编码后都是一样的。怪就怪在这里。 --------------------编程问答-------------------- 那你怎么往 HttpWebRequest.GetRequestStream() 里写的呢?

话说,有了 WebClient.UploadValues 大家还是喜欢用原始的 HttpWebRequest 哇 --------------------编程问答-------------------- WebClient 提供的各种方法都很不错,代码量也少 --------------------编程问答-------------------- 使用GBK编码就OK了,
我是用了GBK编码解决的 --------------------编程问答-------------------- 用web.config就可解决!
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,