No se reciben los caracteres unicode GCM de Android

Este es mi código del lado del servidor o código del lado de Android. Este código funciona bien solo para mensajes en inglés. Si utilizo las cartas de Unicode como usar el idioma árabe, entonces no muestra nada en lugar del árabe. Debido a la mezcla de arábigos en inglés, se saltan las únicas cartas árabes.

Por favor dame la solución. ¡Gracias!

Este es mi código C #

private string SendNotification(string authstring, string id, string msg)
    {
        try
        {
            ServicePointManager.ServerCertificateValidationCallback = (object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) => true;
            WebRequest request = WebRequest.Create("https://android.googleapis.com/gcm/send");
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";

            request.Headers.Add(string.Format("Authorization: key={0}", authstring));
            string collaspeKey = Guid.NewGuid().ToString("n");
            string postData = string.Format("registration_id={0}&data.payload={1}&collapse_key={2}", id, msg, collaspeKey);
            byte[] byteArray = Encoding.UTF8.GetBytes(postData);
            request.ContentLength = byteArray.Length;
            Stream dataStream = request.GetRequestStream();
            dataStream.Write(byteArray, 0, byteArray.Length);
            dataStream.Close();
            WebResponse response = request.GetResponse();
            dataStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(dataStream);
            string responseFromServer = reader.ReadToEnd();
            reader.Close();
            dataStream.Close();
            response.Close();

            return responseFromServer;
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

Y este es mi código lateral de Android que capta el mensaje.

@Override
protected void onMessage(Context context, Intent intent) {        
    String message = ArabicUtilities.reshape(intent.getExtras().getString("payload"));
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta