Ho problemi di gestione dei file in un FTP quando hanno caratteri speciali. Ad esempio nomi di file con ó
o simili.Caratteri speciali nei file FTP
Ti faccio un esempio. Prima di tutto voglio elencare ed elaborare ogni file di una cartella nel FTP:
ftp = CType(FtpWebRequest.Create(sFtpPath), FtpWebRequest)
ftp.Method = WebRequestMethods.Ftp.ListDirectory
reader = New StreamReader(ftp.GetResponse().GetResponseStream())
files = reader.ReadToEnd.Split(New String() {NewLine}, StringSplitOptions.RemoveEmptyEntries)
reader.Close()
Ma questo mi sta dando problemi quando il file contiene caratteri speciali perché la stringa che ho per il file non "esiste" su FTP, ad esempio:
For Each sFich As String In files
ftp = CType(FtpWebRequest.Create(sFtpPath & "/" & sFich), FtpWebRequest)
ftp.Method = WebRequestMethods.Ftp.DownloadFile
reader = New StreamReader(ftp.GetResponse().GetResponseStream())
'...
Next
ad esempio, il file EXAMPLE_aró
sul FTP, qui viene recuperato come EXAMPLE_ar□
, in modo che quando provo a scaricare il file si dice che doesnt esiste.
Come posso gestirlo?
Non ha funzionato. Invece di avere una lista di nomi di file ottengo una sola stringa in 'reader.ReadToEnd' che non posso dividere e tutti i caratteri non sono validi (tutti i quadrati illeggibili). Quando sono aperti in un editor appropriato, in unicode sono tutti caratteri cinesi e con la codifica "1145" sono tutti caratteri strani come 'ÃÁÊÈ/ëÍ' – SysDragon
Hai provato ASCII? – Matt
Quale 'ASCII' elenca i file ma mette un'? 'Dove dovrebbero essere i caratteri speciali. – SysDragon