2013-10-09 11 views
5

Attualmente sto usando un codice (risposta migliore su una domanda) Ho trovato here tutto funziona correttamente finché non gli dai un input giapponese String.Come serializzare caratteri giapponesi in UTF-8 usando GSON?

Ho pensato che il set di caratteri UTF-8 avrebbe funzionato, ma non sono sicuro di quale parte del codice non consenta la serializzazione dei caratteri giapponesi.

Ad esempio, se serializzo qualcosa di base come "ひらがな", verranno visualizzati caratteri illeggibili.

Quello che sto facendo è qualcosa di simile

String serialized = serialize("ひらがな"); 
String deserialized = deserialize(serialized, new TypeToken<String>() {}.getType()); 
System.out.println(deserialized); 

Ma io sono sempre un bidone della spazzatura deserialized.

qualcuno può far luce? Grazie.

+1

Giuro di aver già visto questa domanda esatta oggi ... – ppeterka

+0

Inoltre, per favore aggiungi un collegamento alla risposta che usi o pubblica il codice completo per l'istanza Serializer. Senza questo codice, questa domanda non può essere risolta ... – ppeterka

+0

@ ppeterka66, ho aggiunto il collegamento alla domanda originale da cui ho ottenuto il codice. Crediti a BalusC per il codice. – Incognito

risposta

3

Non conosco la risposta esatta alla tua domanda, ma posso dire che ho avuto un problema simile ed ecco la mia soluzione. Forse è un suggerimento per voi:

Sto usando solo GSON per la deserializzazione. Ho dovuto cambiare il seguente codice da

json = gson.fromJson(new InputStreamReader(is), parseType); 

a

json = gson.fromJson(new InputStreamReader(is,"UTF-8"), parseType); 

Quindi il problema era nel mio lettore di flusso di input, non GSON per sé. Mi chiedo se è necessario utilizzare uno string reader per la deserializzazione o qualcosa del genere. Mi dispiace, non posso darti una risposta più specifica.

+2

Questa è la stessa soluzione che ho ottenuto. Sono contento di aver postato da quando ho dimenticato di pubblicare la mia soluzione dopo aver risolto il problema: D – Incognito

+1

come serializzare un oggetto con la codifica UTF-8, aiuto –

Problemi correlati