Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347

    [JAVA] caratteri accentati da file testo

    Buongriono a tutti,
    ho la seguente situazione

    codice:
                    URL resourceUrl = getClass().getResource("prova.txt");
    		InputStream is = resourceUrl.openStream();
    		StringBuilder sourceBuilder = sourceBuilder(is);
    dove prova.txt è un file contente testo con caratteri accentati.
    Però mi ritrovo che il contenuto della variabie sourceBuilder, ha caratteri "strani" al posto di quelli accentati.
    Qualcuno sa come superare questo problema?

    thanx
    nh

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347
    dimenticavo, sourceBuilder(InputStream is) effettua queste operazioni:

    codice:
                    String line = "";
    		StringBuilder sb = new StringBuilder();
    		BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
    		while ((line = reader.readLine()) != null)
    			sb.append(line).append(System.getProperty("line.separator"));
    		return sb;

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347
    risolto:
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));

    senza specificare UTF-8
    thanx
    nh

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da newhook
    Però mi ritrovo che il contenuto della variabie sourceBuilder, ha caratteri "strani" al posto di quelli accentati.

    [code]BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
    Tecnicamente è ok usare InputStreamReader esplicitando il charset. Ma sei sicuro che quel txt sia codificato in UTF-8?? Se sei sicuro il problema non c'è ... o perlomeno appunto non dovrebbe esserci.

    Poi comunque dove li "vedi" quei caratteri? Cioè li avrai stampati da qualche parte per dire che vedi caratteri "strani". Hai fatto un println() su console? Ecco è questo il punto. Non è detto che ad esempio sulla console (il prompt dei comandi) vedi caratteri speciali correttamente.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347
    non li stampavo in console ma in debug, all'intenro della variabile vedo i caratteri strani, che poi vengono inseriti in database(e vengono inseriti sbagliati).
    La spiegazione dell'UTF-8 l'ho capita. Togliendolo sembra che ho risolto.
    Probabilmente quindi il mio txt non era codificato in UTF-8

    thanx

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.