HttpURLConnection ed encoding UTF-8

Androidino

Utente Attivo
16 Gen 2014
30
1
0
Ciao ragazzi,
Ho creato una semplice app che ha bisogno di estrarre del testo da un file remoto.
Attraverso la classe HttpUrlConnection, recupero da un server un file e lo scarico nei temporanei della mia applicazione. Il codice è:
Codice:
URL url = new URL( "urlmidi" );
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

// connessione in get
urlConnection.setRequestMethod("GET");
urlConnection.setDoOutput(true);
urlConnection.setRequestProperty("Accept-Charset", "UTF-8");
urlConnection.setRequestProperty("Content-Type", "text/plain; charset=UTF-8");
urlConnection.connect(); 
File file = File.createTempFile("nome_file", null, context.getCacheDir());                                                                                                           FileOutputStream fileOutput = new FileOutputStream(file);
InputStream inputStream = urlConnection.getInputStream();                                                                                                                    byte[] buffer = new byte[1024];
int bufferLength = 0;
while ( (bufferLength = inputStream.read(buffer)) > 0 ) {
    fileOutput.write(buffer, 0, bufferLength);
}
fileOutput.close();
Funziona tutto, il problema è nella visualizzazione del testo sulla view. Praticamente se il file contiene dei testi accentati vedo un punto interrogativo. Ho provato a compilare soltanto la classe in UFT-8 in modo tale da fare il replaceAll con il carattere senza accento...funziona ma il problema è che tutti i caratteri accentati hanno quel simbolo. Qualcuno sa aiutarmi?
 

Vins

Moderatore
Membro dello Staff
MOD
28 Lug 2009
238
19
0
Ciao, prova il seguente codice

Codice:
DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(wr, "UTF-8"));
writer.write(content);
writer.close();
wr.close();
 

Discussioni simili