2013-03-17 11 views
5

Ich benutze Gson-Bibliothek, um meine Daten in eine JSON-Formatzeichenfolge serialisieren. Wenn ich die JSON-Nachricht auf dem Server erhalte, bekomme ich ein Fragezeichen für Unicode-Zeichen. Zum Beispiel, ich sende die folgenden von meinem Android-Client:gson Serialisierung von Unicode-String funktioniert nicht

{"message_content":"This is a test message: مرحبا أصدقاء"} 

Aber der Server erhält es als:

{"message_content":"This is a test message: ???? ??????"} 

Code:

import java.io.UnsupportedEncodingException; 

import android.telephony.PhoneNumberUtils; 

import com.google.gson.Gson; 

import com.google.gson.GsonBuilder; 
import com.google.gson.annotations.SerializedName; 

public class TestMessage { 

    @SerializedName("message_content") 
    private String mMessageContent; 

    public TestMessage(String messageContent) { 

     try { 
      byte[] utf8 = messageContent.getBytes("UTF-8"); 
      mMessageContent = new String(utf8, "UTF-8"); 
     } catch (UnsupportedEncodingException e) { 
      mMessageContent = messageContent; 
     } 
    } 

    public String toJSON() { 
     Gson gson = new GsonBuilder().create(); 
     return gson.toJson(this); 
    } 
} 
+0

sieht aus wie Ihr Problem in Server-Seite, verwenden Sie PHP oder ASP? – JafarKhQ

+0

@JafarKhQ danke für Ihre Antwort, scheint das Problem in der Art, wie ich HTTP-Post verwendet. Ich mussteEntity explizit auf Unicode unterstützen. – ssk

Antwort

Verwandte Themen