httpclient PostAsync中文编码GBK Charset

时间:2013-10-17 14:07:58

标签: dotnet-httpclient

  httpclient hc=new httpclient();
  var postcontent = new FormUrlEncodedContent(new Dictionary<string, string> {
                            {"subject",""},
                            {"message",content}

                        });

                    var post = await hc.PostAsync(postURI, postcontent);

UTF-8的FormUrlEncodedContent编码

内容是中文

我该怎么做Encoding.GBK

httpclient PostAsync中文编码GBK

1 个答案:

答案 0 :(得分:0)

我不相信你想做的事情是可能的。根据{{​​1}} here的说明,

  

注意:媒体类型没有'charset'参数         不正确指定一个并将任何重要性关联到         如果指定的话。字符编码始终为UTF-8。该         不支持Unicode编码格式签名;一个领先的         U + FEFF字符将被视为a的一部分。

显然,这是application/www-form-urlencodedapplication/x-www-form-urlencoded之间的一个区别。后者没有明确强制使用UTF-8,但显然这是一种最佳做法。看起来您可能必须编写自己的HttpContent类并自己进行序列化。