UTF8编码后的数据导致Windows手机出现问题

时间:2014-03-21 13:29:37

标签: c# json post windows-phone-8 utf-8

我正在开发Windows手机应用程序。因为我需要以UTF8编码格式将json字符串发送到服务器。我按照下面提到的方法。

    private void RequestStreamCallBack(IAsyncResult ar)
    {
        try
        {
            HttpWebRequest request = (HttpWebRequest)ar.AsyncState;

            Stream postStream = request.EndGetRequestStream(ar);

            string postData = "OPERATION_NAME=" + operationName + "&INPUT_DATA=" + inputData ;

            byte[] byteArray = Encoding.UTF8.GetBytes(postData);

            postStream.Write(byteArray, 0, postData.Length);
            postStream.Close();

            request.BeginGetResponse(new AsyncCallback(ResponseCallback), request);
        }
        catch (Exception ex)
        {
        }
    }

inputData包含JSON字符串。到目前为止它完美无缺。但现在json字符串有" "字符或" +"字符。当存在这些字符时,服务器不会给出预期的响应。我不知道自己错过了什么。

请帮忙。 谢谢。

1 个答案:

答案 0 :(得分:1)

application/x-www-urlencoded格式提交时的PostData必须是URL编码。

这就是名字。

string postData = "OPERATION_NAME=" + URLEncode(operationName)
    + "&" + "INPUT_DATA=" + URLEncode(inputData);