Text-Dateien in S3 hochgeladen werden codiert seltsam?
Dies ist das seltsamste Fehler, und ich weiß nicht einmal wissen, wo Sie anfangen zu verstehen, was falsch ist.
S3 hat gut funktioniert, bis plötzlich eines Tages (gestern) ist es seltsam kodiert jede text-Datei hochgeladen, seltsame Zeichen. Wenn eine text-Datei hat, Å, Ä, Ö oder andere UTF-8 vergleichbar, aber keine englischen Zeichen, die text-Datei ist Durcheinander. Ich habe versucht, das hochladen mit verschiedenen clients, sowie die web-Schnittstelle von AWS. Der laden geht gut, dann habe ich die Datei herunterladen und es versemmelt. Ich habe versucht, das herunterladen es auf meinem Mac, ich habe versucht, das herunterladen es auf einem Raspberry mit Linux drauf. Gleichen Fehler.
Gibt es eine Codierung erfolgt durch Amazons S3-Servern?!
- Yep, das funktionierte für mich. Mit der s3cmd-tool, habe ich noch die flags
--encoding=UTF-8 --add-encoding-exts=js,html
- und es funktionierte. Danke @SonyKadavan - Könntest du deinen post beantworten, Andere finden das hilfreich. Wie diese Frage stackoverflow.com/q/41623185/3664960
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das gleiche problem, und ich löste es durch hinzufügen
charset=utf-8
im Eigenschaften -> Metadaten der DateiKönnen Sie explizit den "Content-Type: text/plain; charset=utf-8" auf die Datei in der S3-Konsole.
Dieser wird sagen S3 dienen als text.
bucket.object("myfile.txt").put(body: "unicöde cöntänt", content_type: "text/plain; charset=utf-8")
Nicht sicher, warum, aber die Antwort von Sony Kadavan funktionierte nicht in meinem Fall.
Statt:
Verwendet habe ich:
Welche zu funktionieren schien.
In mein problem habe ich aber das problem mit dem Lesen der Datei bilden das Dateisystem als UFT8 auch, daher hab ich die falsche Datei Codierung in s3, bis ich Hinzugefügt haben
statt
bitte beachten Sie, dieses mögliche problem zu
Wenn Ihre Daten enthält
non-ASCII multibyte characters (such as Chinese or Cyrillic characters)
, müssen Sie die Daten laden zuVARCHAR
Spalten. DieVARCHAR
Datentyp unterstützt vier-byte-UTF-8-Zeichen, aber dieCHAR
Datentyp akzeptiert nur single-byte-ASCII-Zeichen.Quelle: http://docs.aws.amazon.com/redshift/latest/dg/t_loading_unicode_data.html