Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    24

    Problema Encodig

    ho un problema nel leggere un file .txt (utf-8) in lingua francese.
    quando leggo il file e lo rivisualizzo appaiono caratteri accentati strani.

    ho cercato in rete è ho trovato questo: (per leggere i file utf-8)

    FileInputStream f = new FileInputStream(“myFile.txt”);
    InputStremaReader isr = new InputStreamReader(f, “UTF-8”);
    BufferedReader input = new BufferedReader(isr);

    ma non funziona..

    avete qualche consiglio?

    il problema penso sia in lettura.

    grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Problema Encodig

    Originariamente inviato da keyg
    il problema penso sia in lettura.
    No, se tu sei sicuro che il file è codificato in UTF-8 e hai specificato "UTF-8" a InputStreamReader ... la lettura è ok.

    Un'altra questione: dove visualizzi il testo?? Su una "console"? Il problema è qui allora.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    24
    sì..sì il .txt è codificato in UTF-8..

    se per specificare intendi:
    InputStremaReader isr = new InputStreamReader(f, “UTF-8”);
    allora..sì..

    scrivo su file(utf-8) e console, ma mi visualizza in entrambi i casi questo:
    :� Viens-tu d�arriver de la campagne, Terpsion, ou y a-t-il longtemps que tu es de retour


    grazie per l'aiuto

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da keyg
    scrivo su file(utf-8) e console, ma mi visualizza in entrambi i casi questo:
    :� Viens-tu d�arriver de la campagne, Terpsion, ou y a-t-il longtemps que tu es de retour
    Un conto è scrivere su un file ... un altro è scrivere sulla "console" (il prompt dei comandi insomma).

    Sulla console è molto più critico, perché i print/println su System.out non "sanno" nulla dell'encoding supportato dalla console. Se vuoi scrivere sulla console rispettando almeno il suo encoding (che è bene precisare, non è affatto detto che sia in grado di visualizzare qualunque carattere!!), dovresti usare la nuova classe java.io.Console di Java 6. Ma questo comunque non garantisce nulla di completo e sicuro (nel senso che se la console usa per es. il charset CP-850, allora non è certo in grado di visualizzare per esempio le lettere greche!

    Comunque sei davvero sicuro che il file sia in UTF-8? Apri il file con un editor che supporta l'encoding UTF-8. Oppure aprilo con un browser (IE, Firefox) e poi usa il suo menù (es. Visualizza -> Codifica) per imporre UTF-8.
    Se il testo lo vedi correttamente, allora è UTF-8.
    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
    Mar 2008
    Messaggi
    24
    sì..ho controllato sia con l'editor sia con ff l'encoding del file: UTF-8

    il problema è nella lettura o nella riscrittura del file!..c'è qualche modo per "forzare" l'encoding nella lettura e nella scrittura?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da keyg
    il problema è nella lettura o nella riscrittura del file!..c'è qualche modo per "forzare" l'encoding nella lettura e nella scrittura?
    Ribadisco che la questione di impostare un encoding per lettura o scrittura è tutto sommato banale. Ci sono InputStreamReader e OutputStreamWriter a cui si può specificare un charset es. "UTF-8". E idem si può fare con altre classi di I/O come PrintStream o PrintWriter.

    Quindi già fare new InputStreamReader(unInputStream, “UTF-8”); di per sé è corretto almeno per la lettura.

    La questione, se si stampano dei caratteri da Java, è dove vengono visualizzati.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.