2013-03-17 20 views
5

Verilerimi bir json biçim dizgesine serileştirmek için gson kütüphanesi kullanıyorum. Sunucuda json mesajını aldığımda unicode karakterleri için bir soru işareti alıyorum.Unicode dizesinin gson serileştirmesi çalışmıyor

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

Fakat sunucu olarak alır:

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

Kodu: Örneğin, benim android istemciden aşağıdaki göndermek Ben debug ve bulunan

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

Sunucu tarafında sorununuza benziyor, php veya asp kullanıyor musunuz? – JafarKhQ

+0

@JafarKhQ Cevabınız için teşekkürler, sorun HTTP yayını kullandığım gibi görünüyor. Unicode'u desteklemek için açıkça setEntity kullanmalıydım. – ssk

cevap