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中文编码
发布于 2013-10-28 22:58:36
我不相信你想要做的事情是可能的。从application/www-form-urlencoded here的规范中可以看出,
注意:媒体类型没有'charset‘参数,如果指定了字符集,请指定一个并与其关联任何意义,这是错误的。字符编码始终为UTF-8。不支持Unicode编码形式签名;前导U+FEFF字符将被视为的一部分。
显然,这是application/x-www-form-urlencoded和application/www-form-urlencoded之间的一个区别。后者没有明确强制使用UTF-8,但显然这是一种最佳实践。看起来您可能需要编写自己的HttpContent类并自己进行序列化。
https://stackoverflow.com/questions/19429005
复制相似问题