[英]HttpWebRequest via C# and UTF-8 charset
我正在嘗試使用c#將HttpWebRequest中的一些希臘數據發送到我的電子商店。 問題是在電子商店中的希臘字符。 看起來像???????? ??????? 150?250
???????? ??????? 150?250
我的c#代碼在下面。 如果有人知道如何解決這個問題,請幫忙。
EShopProduct eshopProduct = new EShopProduct();
eshopProduct = GetEShopProductByProductCode(reference);
string scode = eshopProduct.SCode;
string name = eshopProduct.Name;
string description = eshopProduct.Description;
string quantity = eshopProduct.Quantity;
string category = eshopCategoryId;
string price = eshopProduct.Price;
string postData = String.Format("scode={0}&name={1}&description={2}&quantity={3}&category={4}&price={5}&reference={6}",
scode, name, description, quantity, category, price, reference);
string getUrl = _eshopUrl + "/insert_a_product_bysgs.php";
HttpWebRequest getRequest = (HttpWebRequest)WebRequest.Create(getUrl);
getRequest.Method = WebRequestMethods.Http.Post;
getRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2"; // SGS Galaxy
getRequest.AllowWriteStreamBuffering = true;
getRequest.ProtocolVersion = HttpVersion.Version11;
getRequest.AllowAutoRedirect = true;
getRequest.ContentType = "application/x-www-form-urlencoded";
byte[] byteArray = Encoding.ASCII.GetBytes(postData);
getRequest.ContentLength = byteArray.Length;
Stream newStream = getRequest.GetRequestStream(); //open connection
newStream.Write(byteArray, 0, byteArray.Length); // Send the data.
newStream.Close();
HttpWebResponse getResponse = (HttpWebResponse)getRequest.GetResponse();
using (StreamReader sr = new StreamReader(getResponse.GetResponseStream())) {
new_product_id = sr.ReadToEnd();
}
您可以使用
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
此編碼支持特殊字符,例如未包含在ASCII等效字母中的希臘字母
byte[] byteArray = Encoding.ASCII.GetBytes(postData);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.