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);
}
}
Sunucu tarafında sorununuza benziyor, php veya asp kullanıyor musunuz? – JafarKhQ
@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