Ich habe Probleme, Dateien in einem FTP zu verwalten, wenn sie Sonderzeichen haben. Zum Beispiel Dateinamen mit ó
oder ähnlichem.Sonderzeichen in FTP-Dateien
Ich gebe Ihnen ein Beispiel. Zuerst mag ich zur Liste und jede Datei von einem Ordner in dem FTP-Prozess:
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()
Aber das mir Probleme geben, wenn die Datei Sonderzeichen enthält, da die Zeichenfolge ich für die Datei nicht „existiert“ auf das FTP, zum Beispiel:
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
zum Beispiel kann die Datei EXAMPLE_aró
auf dem FTP, hier als EXAMPLE_ar□
abgerufen wird, so dass, wenn ich versuche, um die Datei herunterzuladen es sagt, das tut existieren.
Wie kann ich damit umgehen?
Hat nicht funktioniert. Anstatt eine Liste von Dateinamen zu haben, erhalte ich eine einzelne Zeichenfolge im Reader.ReadToEnd', das ich nicht teilen kann und alle Zeichen sind ungültig (alle unleserlichen Quadrate). Wenn sie in einem geeigneten Editor geöffnet sind, sind alle in Unicode chinesische Zeichen, und mit "1145" Codierung sind alle seltsame Zeichen wie "ÁÁ/ëÍ" – SysDragon
Haben Sie versucht, ASCII? – Matt
Welches 'ASCII' listet die Dateien auf, sondern setzt ein' '' wo die Sonderzeichen sein sollten. – SysDragon