maveric
Goto Top

Datei Via Curl herunterladen incl. definiertem Encoding

Moin zusammen,

ich habe mal wieder etwas Shell-bashing in Petto. Mein Problem ist, das ich eine
Datei herunterladen möchte die Original Windows-1251 Decodiert ist.

Ich habe jetzt hier ein Shell Skript das quasi so aussieht:

#!/bin/bash

cd /pfad/....

csv=myfile.csv

curl -s -o ${csv} -uUserName:Password "ftp://ftp.adress/myfile.csv"  

Das Problem ist, wenn ich curl die Datei einfach so herunterladen lasse wie es hier ist
encodiert er sie in utf-8 und meinen schönen Eurozeichen sind weg.
Leider ist die Gegenseite nicht bereit seine File in utf-8 zu decodierten.

Kurz: Wie schaffe ich es das curl schon beim download das Encoding "Windows-1251" benutzt?

Hatte mir sowas vorgestellt: "curl -s -o -encoding "Windows-1251" ${csv} -uUserName:Password "ftp://ftp.adress/myfile.csv""

Content-ID: 224084

Url: https://administrator.de/forum/datei-via-curl-herunterladen-incl-definiertem-encoding-224084.html

Ausgedruckt am: 27.12.2024 um 18:12 Uhr

colinardo
colinardo 09.12.2013 aktualisiert um 20:18:50 Uhr
Goto Top
Hi Maveric,
probier's mal hiermit:
curl -s -uUserName:Password "ftp://ftp.adress/myfile.csv" | iconv -f iso8859-1 -t utf-8 -o $csv
Normalerweise ändert CURL aber am Encoding des Files überhaupt nichts, es sei denn, das curl das File hier im ASCII- anstatt dem Binary-Modus des FTP-Servers überträgt. Wenn das der Fall sein sollte kannst du mal mit dem CURL-Parameter -Q "TYPE I" versuchen den FTP-Server auf Binary-Transfer umzustellen.
curl -s -o $csv -Q "TYPE I" -uUserName:Password "ftp://ftp.adress/myfile.csv" 
Grüße Uwe
p.s. du verwechselst in deinem Text "Encoding" mit "Decoding"