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

    [java]Encoding caratteri HTML

    Ciao ragazzi,
    Come faccio a riconoscere i caratteri speciali contenuti in un file html?devo scrivermi tutti i possibili caratteri in una tabella con la loro codifica corrispondente? non c è nulla di più furbo?
    Grazie

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

    Re: [java]Encoding caratteri HTML

    Originariamente inviato da Marco_P
    Come faccio a riconoscere i caratteri speciali contenuti in un file html?devo scrivermi tutti i possibili caratteri in una tabella con la loro codifica corrispondente?
    Chiarisci meglio .... da una normale stringa devi farne l'"escape" per metterla come "testo" in un HTML (es. "A&B" ---> "A&B" .... oppure il contrario? O altro?

    Originariamente inviato da Marco_P
    non c è nulla di più furbo?
    Esistono già librerie apposite che forniscono metodi per fare il escape/unescape dei caratteri "speciali" HTML/XML. Vedi ad esempio la Apache Commons Lang e la sua classe StringEscapeUtils.
    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
    Jun 2009
    Messaggi
    80
    Leggo un file html che contiene caratteri speciali come lettere accentate o spazi con il quadratino..vorrei poter riconoscere questi caratteri in modo da poter scriverli in un file XML..

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Marco_P
    Leggo un file html che contiene caratteri speciali come lettere accentate o spazi con il quadratino..vorrei poter riconoscere questi caratteri in modo da poter scriverli in un file XML..
    Non capisco la questione .... se in un file HTML hai proprio un carattere es. "è" (non una entità) allora nel XML che generi, fintantoché l'encoding (il charset) è lo stesso o comunque appropriato per codificare quel carattere, lo puoi scrivere tranquillamente come "carattere" e non come entità.
    Se invece intendevi che nel XML ci sia una "entità" es. è allora no, non è così immediato, perché in XML ci sono solo 5 entità predefinite. Qualunque altra specifica devi definirla tu con un apposito DTD.
    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
    80
    Si effettivamente non avevo ben chiaro dove fosse il problema..Il fatto è che vorrei convertire tutte le lettere accentate in lettere non accentatte e far sparire tutti gli apostrofi. Dopodichè vorrei scrivere tutto su file XML. Il problema è che una volta ottenuta la stringa del file html letto,questa non presenta le lettere accentate cosi me le aspetto e quindi non so come convertirle in lettere non accentate...

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    80
    Risolto..ho impostato "UTF-8" come secondo parametro della string..
    codice:
    ..new String(responseBody,"UTF_8");
    Dove responseBody è l'array di byte dell html..

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Marco_P
    vorrei convertire tutte le lettere accentate in lettere non accentatte e far sparire tutti gli apostrofi.
    Questa è una cosa molto particolare e specifica (cioè non è una cosa comunissima), in pratica da "è" o "é" vuoi ottenere semplicemente "e".
    Ci possono essere sicuramente librerie che forniscono già metodi che fanno questo ... ma ora non ti so dire (non credo che la Apache Commons Lang lo faccia, ad esempio).

    Se vuoi il "fai-da-te", ti basta usare una mappa e scansionare la stringa per fare le conversioni.

    questa non presenta le lettere accentate cosi me le aspetto[/QUOTE]Cioè ha le entità es. è ?? Allora o le converti per ottenere "è" (e questo lo fa la Commons Lang ad esempio) e poi "mappi" tu i caratteri come detto sopra. Oppure vai direttamente a cercare le entità come è e "capire" che devi subito mettere "e" (senza passare per i caratteri con gli accenti).

    Insomma .... non c'è il metodo "magico" .... o trovi qualcosa di già fatto ... o lo fai tu!
    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 © 2026 vBulletin Solutions, Inc. All rights reserved.