我想發送英鎊符號字符,即'£'編碼爲ISO-8859-1。 我通過執行以下操作執行此:「英鎊」字符似乎沒有正確編碼 - 期望'%a3'但得到'%u00a3'
var _encoding = Encoding.GetEncoding("iso-8859-1");
var _requestContent = _encoding.GetBytes(requestContent);
var _request = (HttpWebRequest)WebRequest.Create(target);
_request.Headers[HttpRequestHeader.ContentEncoding] = _encoding.WebName;
_request.Method = "POST";
_request.ContentType = "application/x-www-form-urlencoded; charset=iso-8859-1";
_request.ContentLength = _requestContent.Length;
_requestStream = _request.GetRequestStream();
_requestStream.Write(_requestContent, 0, _requestContent.Length);
_requestStream.Flush();
_requestStream.Close();
當我把一個斷點在目標,我希望獲得以下信息: 「%A3」,但是我收到「%u00a3」代替。我們測試了很多奇怪的字符,但是'£'似乎是唯一一個出現問題的字符。
有誰知道問題在這裏? - 幫助將不勝感激...
比利
我也不太清楚如何幫助,但OUF好奇,你能不使用utf8編碼?通常很少出現這種問題的錯誤。 – Flukey 2010-03-30 09:00:11
不能使用UTF8作爲我們呼叫的服務器(第三方服務)堅持使用ISO 8859-1 – bstack 2010-03-30 09:19:28
我沒有回答你的問題,但有興趣知道如果你使用Encoding.Default和'windows-1252'作爲編碼(參見http://mindprod.com/jgloss/encoding.html)。 – 2010-03-30 10:31:12