Umlaut in Java SAX Parser
-
13-09-2019 - |
Domanda
Al momento sto avendo difficoltà con i valori simbolo tedesco in un documento XML che ho ricevuto.
Si visualizza / salva il valore come " ü " invece di un " U ".
La codifica XML è impostato su UTF-8 , che dovrebbe essere in grado di visualizzare dieresi.
Anche io non sono riuscito a trovare alcuna opzione per impostare un locale sul parser SAX.
C'è un altro modo per rendere i valori salvare correttamente?
A proposito: sto usando Eclipse come IDE.
Ogni aiuto è molto apprezzato!
Grazie in anticipo!
Soluzione
L'XML è codificato in UTF-8, ma si sta decodificando con ISO-8859-1.
Prova ad usare InputStream
e altre API -oriented "binari" per XML. Evitare di utilizzare un Reader
, o cercando di convertire da byte[]
ad un String
prima di parsing XML. Tu sei molto più probabile che rovinare la codifica dei caratteri che il parser è.
Altri suggerimenti
Impostazione di codifica XML UTF-8 in dichiarazione XML è una cosa, ma un'altra cosa è la codifica fisica del cioè documento XML, è possibile avere un file XML che dice <?xml version="1.0" encoding="utf-8"?>
ma il file stesso potrebbe ancora essere ANSI codificato (o qualsiasi altra cosa).