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
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
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
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?
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.Originariamente inviato da Marco_P
non c è nulla di più furbo?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
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à.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..
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.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
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...
Risolto..ho impostato "UTF-8" come secondo parametro della string..
Dove responseBody è l'array di byte dell html..codice:..new String(responseBody,"UTF_8");
Questa è una cosa molto particolare e specifica (cioè non è una cosa comunissima), in pratica da "è" o "é" vuoi ottenere semplicemente "e".Originariamente inviato da Marco_P
vorrei convertire tutte le lettere accentate in lettere non accentatte e far sparire tutti gli apostrofi.
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.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet