0
  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

4

1 回答 1

0

我不相信你想要做的事情是可能的。从application/www-form-urlencoded 这里的规范中说,

注意:媒体类型没有“charset”参数,指定一个是不正确的,如果指定,则将其与任何意义相关联。字符编码始终为 UTF-8。不支持 Unicode 编码形式签名;前导 U+FEFF 字符将被视为 .

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

于 2013-10-28T14:58:35.550 回答