Encoding auf einem Mac

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
KlausS
User
Beiträge: 40
Registriert: Donnerstag 24. Januar 2008, 08:52
Wohnort: Leverkusen

Hallo Liste,

da ich bei meinem Brötchengeben heute ziemliche Probleme mit dem Encoding einer aus Excel exportierten .csv hatte (und diese auch noch nicht zufriedenstellend lösen konnte), wollte ich mich gerade auf meinen Mac etwas intensiver mit diesem Thema beschäftigen. Dazu habe ich mir unter anderem den wiki-Artikel http://wiki.python-forum.de/Von%20Umlau ... 0Encodings zu dem Thema angesehen. Dabei tritt das Problem auf, dass ich in der Konsole keine Umlaute eingeben kann, sobald ich python starte. Die Tastatureingaben werden ignoriert. Folgende Einstellungen liegen vor:
klaus:BeginningPython klaus$ /usr/bin/locale
LANG="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_CTYPE="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_ALL=
klaus:BeginningPython klaus$ python
Python 2.7.1 (r271:86882M, Nov 30 2010, 10:35:34)
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.getdefaultencoding()
'utf-8'
>>>
Kann mir mal jemand einen Wink mit dem Zaunpfahl geben.

Danke

Klaus
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Ich kann ohne Problem Umlaute eingeben. Hast du evtl. kein deutsches System in den Einstellungen der Konsole irgendwelche seltsamen Kodierungen eingestellt?


Edit: Ich sehe gerade, du verwendest 2.7. Probier doch mal die vorinstallierte Apple-Version von Python aus (mit python2.6 oder python2.5 starten).
KlausS
User
Beiträge: 40
Registriert: Donnerstag 24. Januar 2008, 08:52
Wohnort: Leverkusen

Nach den oben gezeigten Angaben sollte utf-8 eingestellt sein. Das Problem tritt auch erst dann auf, wenn ich python über die Konsole starte. Vorher werden die Umlaute in der Konsole dargestellt. Auch das aus der Konsole gestartete Beispiel aus dem Tutorial wird angezweigt.
klaus:BeginningPython klaus$ python encoding.py
<type 'str'>
<type 'unicode'>
<type 'str'>
Hallo ?sterreich
Hallo Österreich
Hallo Österreich
Edit: mit Python2.5 und 2.6 ändert sich nichts
Zuletzt geändert von KlausS am Mittwoch 16. Februar 2011, 21:39, insgesamt 1-mal geändert.
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Vorinstalliertes Python ausprobiert?
KlausS
User
Beiträge: 40
Registriert: Donnerstag 24. Januar 2008, 08:52
Wohnort: Leverkusen

Ja, leider keine Änderung :cry:
nemomuk
User
Beiträge: 862
Registriert: Dienstag 6. November 2007, 21:49

Sieht nach einem Terminal Problem aus... hast du die Einstellungen der Terminal.app schonmal durchgeschaut:
-> da gibts einmal beim Tab Einstellungen/Erweitert eine Einstellung -> UTF-8
-> und dann bei Codierung -> Standard Widerherstellen.

Ich nehme mal an du hast Mac OS X > 10.4?
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Das vorinstallierte Python 2.6 (OS X 10.6) macht bei Umlauten einfach nur Beep. Ein mit MacPorts installiertes Python 2.7 zeigt sie problemlos an. Ich vermute, es liegt an dem Ersatz für Readline, den das System-Python benutzt. Ob man aber Umlaute in der Python-Konsole eingeben kann oder nicht, sagt nichts darüber aus, ob und wie Python mit Umlauten und Textencodings umgehen kann. Das können sie beide korrekt.

Stefan
KlausS
User
Beiträge: 40
Registriert: Donnerstag 24. Januar 2008, 08:52
Wohnort: Leverkusen

@ahojnnes
Beide Einstellungen stehen auf utf-8. Mehrere Tests mit verschiedenen Einstellungen zeigen keine Änderung. In der Konsole können Umlaute eingegeben, solange kein Python oder iPython gestartet ist. Unter Python/iPython gibt es nur noch einen "Beep" :cry:

@sma
Ich habe per MacPorts 2.7 und gestern abend 2.7.1 installiert. Ich bin mir nicht sicher, ob das Verhalten bei der vorinstallierten Pythonversion auch schon so war, weil ich die Umlaute auf der Konsole ja eher selten oder gar nicht nutzte. Das Problem ist mir erst bei meinen Tests zum Encoding aufgefallen. Bei der Ausgabe von print-Anweisungen aus einem Script werden die Umlaute richtig dargestellt. Da war meine Themenbezeichnung etwas irreführend.

Klaus
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

sma hat geschrieben:Das vorinstallierte Python 2.6 (OS X 10.6) macht bei Umlauten einfach nur Beep.
Ich weiß nicht, was ich falsch mache, aber bei mir gehts. Evtl weil ich readline installiert habe?
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Darii hat geschrieben:
sma hat geschrieben:Das vorinstallierte Python 2.6 (OS X 10.6) macht bei Umlauten einfach nur Beep.
Ich weiß nicht, was ich falsch mache, aber bei mir gehts. Evtl weil ich readline installiert habe?
Kann ich mir nicht vorstellen, dass das vorinstallierte Python ein nachträglich installiertes libreadline aufpickt. Du probierst wirklich /usr/bin/python in der Version 2.6.1 (24. Juni 2010) aus? Und du hast das nicht mit etwas anderem überinstalliert?

Stefan
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

sma hat geschrieben:Du probierst wirklich /usr/bin/python in der Version 2.6.1 (24. Juni 2010) aus?
Ja
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Und du hast das nicht mit etwas anderem überinstalliert?
Werde mich hüten. ;)
Antworten