Domanda

Sono in grado di fare in modo che la mia applicazione carichi i file tramite FTP utilizzando la libreria FTPClient Java.

(Mi è capitato di caricare su un repository Oracle XML DB.)

Tutto viene caricato correttamente a meno che il file xml non contenga virgolette. Nel qual caso ricevo l'errore: LPX-00200: impossibile convertire dalla codifica UTF-8 in UCS2

Posso caricare quello che credo sia lo stesso file usando lo strumento FTP della linea CMD di Windows. Mi chiedo se ci sia qualche impostazione di codifica utilizzata dallo strumento di linea CMD di Windows che forse devo impostare nel mio codice Java.

Qualcuno sa cose su questo? Grazie !!

È stato utile?

Soluzione 3

In binario questo problema scompare.

FTPClient.setType(FTPClient.TYPE_BINARY);

http://www.sauronsoftware.it/projects/ftp4j/manual .php # 3

Altri suggerimenti

Non conosco quell'applicazione ma potresti provare a usare -Dfile.encoding = UTF-8 sulla tua riga di comando JVM

Non hanno familiarità con i repository Oracle XML DB & # 8212; possono accettare upload compressi? Comprimere o decomprimere il tuo file risparmierebbe risorse e vanificherebbe qualsiasi rilevamento automatico del tipo di file ASCII in uso.

Se il tuo file contiene virgolette, si trovano nell'intervallo del set di bit di ordine superiore nei set di caratteri iso-8859-1 e windows-1252. In UTF-8, quei caratteri di solito prendono due byte in UTF-8.

È del tutto possibile che tu abbia codificato accidentalmente il file xml in una di queste codifiche anziché UTF-8. Ciò comporterebbe un errore di conversione, poiché il bit di ordine superiore impostato è consentito solo in sequenze di più ottetti UTF-8.

Se sei in Windows, apri il file in Blocco note e prova a salvare nuovamente il documento utilizzando Salva con nome ... con la codifica UTF-8 e carica il file modificato. In Unix, usa iconv o un oggetto simile strumento per convertire da iso-8859-1 a UTF-8 prima del caricamento.

Se il documento XML contrassegna esplicitamente la sua codifica, assicurati che sia contrassegnato con la codifica corretta (ad esempio UTF-8). In molti parser XML, è possibile analizzare il set di caratteri iso-8859-1 o windows-1252 codificato XML purché sia ??contrassegnato come tale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top