Umlaute

Plattformunabhängige GUIs mit wxWidgets.
Antworten
sprudel
User
Beiträge: 250
Registriert: Donnerstag 8. März 2007, 17:12

Hi. Ist vielleicht eine klassische Anfängerfrage, aber ich habe seltsamerweise nirgendwo etwas dazu gefunden.

Folgendes:
Ich habe gestern angefangen, mich in wxPython einzulernen (was garnicht so leicht ist, Tkinter ist 1000x einfacher). Jetzt stellt sich nur die Frage: DrPython gibt mir immer bei Umlauten (auch in den Kommentaren) eine Fehlermeldung aus. Ich habe auch schon auf UTF8 gestellt. Danach habe ich es in Idle probiert. Dort kann ich zumindest in normalen print-Befehlen Umlaute verwenden. Es ist nur blöderweise so, dass ich die dann wieder nicht in den wx-Fenstern verwenden kann, weil es mir da immer nur noch so ein komisches Zeichen anzeigt. Woran könnte das denn liegen? Ich brauche doch schließlich Umlaute :lol: .
Benutzeravatar
DHK
User
Beiträge: 26
Registriert: Sonntag 18. März 2007, 14:55
Wohnort: Bayern

Hallo Sprudel,
vielleicht hilft dir das hier:
http://www.python-forum.de/topic-9957.html

Gruß

DHK
Opera ist noch immer der beste...
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

sprudel hat geschrieben:Ich brauche doch schließlich Umlaute :lol:.
Hi sprudel!

Zuerst mal ein Link. Bitte durchlesen und Beispiele ausprobieren.

http://www.python-forum.de/topic-5095.html

Und jetzt noch etwas wxPython-spezifisches:

Nachdem du dir klar geworden bist, dass du Encoding-Cookies angeben musst um Python damit das Encoding mitzuteilen, in dem das Python-Modul abgespeichert wurde, solltest du wxPython mitteilen, in welchem Encodings es die Strings erwarten soll, die nicht als Unicode übergeben werden.

Das machst du mit ``wx.SetDefaultPyEncoding()``.
Z.B.

Code: Alles auswählen

wx.SetDefaultPyEncoding("iso-8859-1")

Code: Alles auswählen

>>> help(wx.SetDefaultPyEncoding)
Help on function SetDefaultPyEncoding in module wx._core:

SetDefaultPyEncoding(*args, **kwargs)
    SetDefaultPyEncoding(string encoding)
    
    Sets the encoding that wxPython will use when it needs to convert a
    Python string or unicode object to or from a wxString.
    
    The default encoding is the value of ``locale.getdefaultlocale()[1]``
    but please be aware that the default encoding within the same locale
    may be slightly different on different platforms.  For example, please
    see http://www.alanwood.net/demos/charsetdiffs.html for differences
    between the common latin/roman encodings.

>>> 
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
sprudel
User
Beiträge: 250
Registriert: Donnerstag 8. März 2007, 17:12

Hi. Irgendwie funktioniert das ganze noch nicht so richtig.

C:/Python25/pythonw.exe -u "F:/Programmierung und Entwicklung/Python/Programmierdateien/Wx Versuche/versuche.py"
File "F:/Programmierung und Entwicklung/Python/Programmierdateien/Wx Versuche/versuche.py", line 15
SyntaxError: Non-ASCII character '\xc3' in file F:/Programmierung und Entwicklung/Python/Programmierdateien/Wx Versuche/versuche.py on line 15, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details




Diese Meldung gibt mir DrPython immer zurück.


Edit: Hab das Problem doch selber gelöst. Hatte eine Zeile vergessen ;-) Trotzdem vielen Dank für die Hilfe
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

Hallo,

Welche DrPython-Version verwendest Du? Hast du 1.64 (die letzte)?
Welche wxPython-Version (ansi oder Unicode)?
Was passiert, wenn Du bei Preferences-Generell "latin-1" eingibst?
Benutzeravatar
name
User
Beiträge: 254
Registriert: Dienstag 5. September 2006, 16:35
Wohnort: Wien
Kontaktdaten:

Kanns sein das du

Code: Alles auswählen

# -*- coding: utf-8 -*-
nicht angegeben hast.
Weil die Fehlermeldung sagt genau das
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
Antworten