Hi
Hab ein kleines Problem.
Ich hab ein kleines Test-Script (nix spezielles) geschrieben das eine Datei öffnet, den Inhalt der Datei dann Zeile für Zeile liest.
Mein Problem ist nun das mein System und die Datei UTF-8 sind und das der Text der Datei jedoch auf einer Seite angezeigt werden soll die ISO-8859-1 bzw Latin-1 nutzt. Deshalb werden die Umlaute nicht korrekt angezeigt.
Nun hab ich versucht mittels codecs.open(file, 'r', 'latin-1') den Inhalt direkt in Latin-1 zu wandeln was jedoch nicht klappte, genau so wenig wie den Inhalt zu lesen und dann mittels unicode(inhalt, 'latin-1').
Gibt es irgendeine Möglichkeit Text der als UTF-8 gespeichert wurde in Latin-1 umzuwandeln damit dieser Text korrekt angezeigt wird auf einer Internetseite die Latin-1 nutzt?
PS. Ablegen der Datei auf dem Server will ich nicht, da ich diese auf dem Desktop bearbeiten will.
UTF-8 Datei als Latin-1 öffnen?
-
- User
- Beiträge: 36
- Registriert: Sonntag 16. Dezember 2007, 04:18
AMD Athlon 64 X2 6000+, ASUS M2N-SLI Deluxe, ASUS EN8600GTS Silent, 4GB Apacer DDR2 800Mhz | Gentoo Linux x86_64
AMD Sempron 2500+, MSI KT4, ASUS N6200, 2x 512MB Apacher DDR 400Mhz, Hauppauge PVR150 | Arch Linux i686
### Sorry for my bad english ###
AMD Sempron 2500+, MSI KT4, ASUS N6200, 2x 512MB Apacher DDR 400Mhz, Hauppauge PVR150 | Arch Linux i686
### Sorry for my bad english ###
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo root_tux_linux!root_tux_linux hat geschrieben:Nun hab ich versucht mittels codecs.open(file, 'r', 'latin-1') den Inhalt direkt in Latin-1 zu wandeln
``codecs.open`` öffnet den Text und wandelt diesen beim Auslesen nach Unicode um. Um das bewerkstelligen zu können, muss man beim Öffnen der Textdatei angeben, in welcher Codierung der Text vorliegt. Du hast es also nur verkehrt herum gemacht.
Du kannst aber auch auf ``codecs`` verzichten, die Datei normal öffnen und zeilenweise umwandeln. Dann werden auch die Zeilenendzeichen automatisch konvertiert. Denn ``codecs.open`` öffnet die Datei immer "binär".
Code: Alles auswählen
my_file = file("<dateiname>", "rU")
for utf8_line in my_file:
iso_line = utf8_line.decode("utf-8").encode("ISO-8859-1")
http://www.python-forum.de/topic-5095.html
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- User
- Beiträge: 36
- Registriert: Sonntag 16. Dezember 2007, 04:18
Danke
Werd ich gleich probieren
Werd ich gleich probieren
AMD Athlon 64 X2 6000+, ASUS M2N-SLI Deluxe, ASUS EN8600GTS Silent, 4GB Apacer DDR2 800Mhz | Gentoo Linux x86_64
AMD Sempron 2500+, MSI KT4, ASUS N6200, 2x 512MB Apacher DDR 400Mhz, Hauppauge PVR150 | Arch Linux i686
### Sorry for my bad english ###
AMD Sempron 2500+, MSI KT4, ASUS N6200, 2x 512MB Apacher DDR 400Mhz, Hauppauge PVR150 | Arch Linux i686
### Sorry for my bad english ###