使用WebClient.UploadValues Post中文时,会出现乱码的情况,设置Encoding属性不起作用,设置content-type也不起作用,最后只好自己用WebRequest来做:

//using (System.Net.WebClient wc = new System.Net.WebClient())
//{
//    wc.Encoding = Encoding.GetEncoding("GB2312");
//    NameValueCollection postData = new NameValueCollection();
//    postData.Add("UserIDText", userId.ToString());
//    postData.Add("UserNameText", userName);
//    postData.Add("ContentText", HttpUtility.UrlEncode(content,wc.Encoding));
//    postData.Add("UrlText", url);

//    wc.Headers.Add(HttpRequestHeader.ContentEncoding, "gb23112");
//    wc.Headers.Add(HttpRequestHeader.ContentType, "application/x-www-form-urlencoded");
//    wc.UploadValues(new Uri(postUrl),"POST", postData);
//}

Encoding myEncoding = Encoding.GetEncoding("gb2312");
string param = "UserIDText=" + HttpUtility.UrlEncode(userId.ToString(), myEncoding)
    + "&" + "UserNameText=" + HttpUtility.UrlEncode(userName, myEncoding)
    + "&" + "ContentText=" + HttpUtility.UrlEncode(content, myEncoding)
    + "&" + "UrlText=" + HttpUtility.UrlEncode(url, myEncoding);

byte[] postBytes = Encoding.ASCII.GetBytes(param);

HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(postUrl);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded;charset=gb2312";
req.ContentLength = postBytes.Length;

using (Stream reqStream = req.GetRequestStream())
{
    reqStream.Write(postBytes, 0, postBytes.Length);
}
using (WebResponse wr = req.GetResponse())
{
    //在这里对接收到的页面内容进行处理
}

WebClient.UploadValues Post中文乱码的解决方法相关推荐

  1. ASP+Access中文乱码的解决方法,ASP中文乱码,asp乱码问题

    确保编码声明正确(例:时尚淘女之家http://www.tao36524.com) 如果您使用的是国外空间,默认是西欧而不是GB2312,你可以通过强制为GD2312的方式! 在数据提取页面的第一行代 ...

  2. PHP输出中文乱码的解决方法

    PHP输出中文乱码的解决方法 参考文章: (1)PHP输出中文乱码的解决方法 (2)https://www.cnblogs.com/cyun/p/4146131.html 备忘一下.

  3. 织梦站内选择和文件管理器中文乱码的解决方法(utf8编码程序包才会)

    织梦站内选择和文件管理器中文乱码的解决方法(utf8编码程序包才会) 参考文章: (1)织梦站内选择和文件管理器中文乱码的解决方法(utf8编码程序包才会) (2)https://www.cnblog ...

  4. linux命令框显示中文乱码_CentOS终端命令行显示中文乱码的解决方法

    这篇文章主要介绍了CentOS终端命令行显示中文乱码的解决方法,以及测试方法和缺少中文字体时的解决方法,需要的朋友可以参考下 安装CentOS的时候选择了中文,结果在终端不能显示中文,都是乱码,解决方 ...

  5. c php乱码,php分割GBK中文乱码的解决方法

    类似如下的字符串(GBK), explode不能得到正确结果: $result = explode("|", "滕华弢|海青"); 究其原因, 对于" ...

  6. SQLyog中文乱码的解决方法

    SQLyog中文乱码的解决方法 初始情况: · 我使用的是SQLyog Enterprise v8.18. · Eclipse使用的文本编码是默认设置GBK: · 而服务器安装的MySQL: mysq ...

  7. windows下SVN日志反馈中文乱码的解决方法

    windows下SVN日志反馈中文乱码的解决方法 参考文章: (1)windows下SVN日志反馈中文乱码的解决方法 (2)https://www.cnblogs.com/wangkeqin/p/11 ...

  8. MySQL命令窗口出现中文乱码的解决方法

    MySQL命令窗口出现中文乱码的解决方法 参考文章: (1)MySQL命令窗口出现中文乱码的解决方法 (2)https://www.cnblogs.com/ttxcs/p/11614289.html ...

  9. mysql脚本执行中文乱码_MySQL从命令行导入SQL脚本时出现中文乱码的解决方法

    本文实例讲述了MySQL从命令行导入SQL脚本时出现中文乱码的解决方法.分享给大家供大家参考,具体如下: 在图形界面管理工具 MySql Query Browser中打开脚本(脚本包括建库.建表.添加 ...

最新文章

  1. 独家 | 融资2.1亿商汤领投,他要用VR+AR解决无人驾驶的路测难题
  2. 009-SDK框架之LYWSDKPlatform.h
  3. 如何将sql数据导入到oracle数据库,将SQLServer的数据导入到Oracle数据库的方法-Oracle...
  4. 超详细的jQuery的 DOM操作,一篇就足够!
  5. 算法提高 输入输出格式练习(java)
  6. python excel插件_django使用插件下载excel的方法
  7. 李彦宏:我从未说过百度“All in AI”,这得怪陆奇
  8. linux共享内存 dest,关于linux 共享内存查看已经完整释放
  9. Spring学习笔记17--在XML中使用SPEL
  10. 使用微软原生工具,反编译DLL并修改后再生成DLL
  11. 爬取今日头条新闻,并导入execle中(主要用了selenium)
  12. iOS定位经纬度转换
  13. 海明码的编码和校验方法
  14. Android 11版本号仍有甜点名称 只是不再公开:红丝绒蛋糕
  15. excel中right函数怎么用
  16. uniapp生成android并调用第三方sdk的拍照进行身份证识别
  17. 帝国cms生成html网站地图的教程步骤
  18. gitlab runner理解(未完)
  19. 《重构 改善既有代码的设计 1》重构原则
  20. 时间机器 Time Machine 三星T7 移动硬盘SSD解决方案

热门文章

  1. 世界最大的多语言语音数据集现已开源!超40万小时,共23种语言
  2. MLPerf训练最新发榜:谷歌、NV、浪潮 ,冠军榜“三国杀”
  3. 细数二十世纪最伟大的10大算法
  4. 强烈推荐几个好玩的深度学习github项目分享!
  5. Django源码分析1:创建项目和应用分析
  6. E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)E: U
  7. 规格选项表管理之删除规格选项表数据
  8. Linux之查看目录命令
  9. python中的pop()函数和popleft()函数
  10. C语言借助两个数的大小交换,引入指针。