【问题标题】:GCM send JSon message with special charactersGCM 发送带有特殊字符的 JSON 消息
【发布时间】:2016-03-15 17:51:46
【问题描述】:

我正在使用“application/json”(下游 HTTP 消息 (JSON))从我的 C# 服务器发送 GCM。一切正常,我的 Android 设备收到了消息。

但问题是:如果我发送特殊字符,如 ä ë á é 或类似字符,则会收到此错误:

WebException:System.Net.WebException:请求被中止: 请求被取消。 ---> System.IO.IOException:无法关闭流 直到所有字节都被写入。

我尝试使用:

HttpUtility.UrlEncode("my méssägë hérë")

但后来我在 Android 中收到格式错误的消息。 对如何正确编码字符串有任何帮助吗?

【问题讨论】:

    标签: c# .net json google-cloud-messaging encode


    【解决方案1】:

    我解决了变化:

    using (StreamWriter oWriter = new StreamWriter(req.GetRequestStream()))
    {  oWriter.Write(msg);
    }
    

    用这个:

    Byte[] byteArray = Encoding.UTF8.GetBytes(msg);
    req.ContentLength = byteArray.Length; <-- important
    Stream writer = req.GetRequestStream();
    writer.Write(byteArray, 0, byteArray.Length);
    

    另见here

    【讨论】:

      猜你喜欢
      • 2012-12-23
      • 2015-09-21
      • 2015-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多