[Python-de] pyqt4: text ist utf-8, wird aber nicht richtig dargestellt

Reimar Bauer rb.proj at gmail.com
Sa Jun 15 23:24:24 CEST 2013


2013/6/15 Wolfgang Meiners <WolfgangMeiners01 at web.de>

> also ich bin ziemlich ratlos.
>
> zunächst einmal mein momentaner Stand:
>
> ich habe ein Minimalbeispiel, einfacher Dialog mit einem Label und einem
> Textfeld, in beide schreibe ich Text mit Umlauten ('Ätsch')
>
> das ganze wird korrekt dargestellt, wenn ich das Programm aus eclipse
> heraus aufrufe.
>
>
Hast Du das Sonderzeichen in eclipse getippt?
Wenn Du das Programm mit vim oder was anderem als eclipse anschaust, wie
wird
das Sonderzeichen dargestellt?

Gruß
Reimar


> Das ganze wird fehlerhaft dargestellt, wenn ich das Programm aus dem
> Terminal aufrufe. Dabei wird aus 'Ätsch' (b'\xc3\x84tsch') ein
> '�tsch' (b'\xef\xbf\xbdtsch') und das erste Zeichen ist ein Replacement
> Character.
>
> Das heißt doch, das von python3 richtig übergebene Zeichen wird von pyqt
> als nicht darstellbar interpretiert und durch das Replacement Character
> ersetzt. Aber nur, wenn das Programm vom Terminal aus aufgerufen wird.
>
> Das deutet auf einen Konfigurationsfehler im Terminal hin.
> locale liefert
> wolfgangslaptop:~ wolfgang$ 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="de_DE.UTF-8"
>
> und es gibt in ./MacOSX/environment.plist einen Key LC_ALL mit dem Wert
> de_DE.UTF-8. Das sollte eigentlich so passen.
>
> Nun habe ich gedacht, lass doch das ganze mal unter einem anderen User
> laufen und erhalte dort (gleiches locale)
>
> #########################################################################
> wolfgangslaptop:src adminloc$ python3 minimalbeispiel.py
> Sat Jun 15 12:24:04 wolfgangslaptop.fritz.box Python[3948] <Error>:
> kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors
> as they are logged.
> _RegisterApplication(), FAILED TO establish the default connection to
> the WindowServer, _CGSDefaultConnection() is NULL.
> b'\xc3\x84'
> utf-8
> 0041 0308
> test:  b'\xc3\x9f'
> 2013-06-15 12:24:05.229 Python[3948:d07] An uncaught exception was raised
> 2013-06-15 12:24:05.230 Python[3948:d07] Error (1002) creating CGSWindow
> 2013-06-15 12:24:05.232 Python[3948:d07] *** Terminating app due to
> uncaught exception 'NSInternalInconsistencyException', reason: 'Error
> (1002) creating CGSWindow'
> *** Call stack at first throw:
> (
>         0   CoreFoundation                      0x00007fff81065784
> __exceptionPreprocess + 180
>         1   libobjc.A.dylib                     0x00007fff83976f03
> objc_exception_throw + 45
>         2   CoreFoundation                      0x00007fff810655a7
> +[NSException raise:format:arguments:] + 103
>         3   CoreFoundation                      0x00007fff81065534
> +[NSException raise:format:] + 148
>         4   AppKit                              0x00007fff802ddf52
> _NSCreateWindowWithOpaqueShape2 + 473
>         5   AppKit                              0x00007fff80272691
> -[NSWindow
> _commonAwake] + 1214
>         6   AppKit                              0x00007fff802901c9
> -[NSWindow
> _makeKeyRegardlessOfVisibility] + 96
>         7   AppKit                              0x00007fff8029013e
> -[NSWindow
> makeKeyAndOrderFront:] + 24
>         8   QtGui                               0x000000010292c593
> _ZN14QWidgetPrivate8show_sysEv + 1123
>         9   QtGui                               0x00000001029ecd38
> _ZN14QWidgetPrivate11show_helperEv + 408
>         10  QtGui                               0x00000001029ed06f
> _ZN7QWidget10setVisibleEb + 511
>         11  QtGui                               0x0000000102e38737
> _ZN7QDialog10setVisibleEb + 103
>         12  QtGui.so                            0x00000001023707fc
> _ZN10sipQDialog10setVisibleEb + 108
>         13  QtGui.so                            0x0000000102386318
> meth_QWidget_show + 104
>         14  Python                              0x00000001000de02e
> PyEval_EvalFrameEx + 29774
>         15  Python                              0x00000001000df1b8
> PyEval_EvalCodeEx + 2296
>         16  Python                              0x00000001000df27f
> PyEval_EvalCode + 63
>         17  Python                              0x000000010010639b
> PyRun_FileExFlags + 187
>         18  Python                              0x00000001001066b6
> PyRun_SimpleFileExFlags + 598
>         19  Python                              0x000000010011d783 Py_Main
> + 3203
>         20  Python                              0x0000000100000e0e 0x0 +
> 4294970894
>         21  Python                              0x0000000100000c54 0x0 +
> 4294970452
> )
> terminate called after throwing an instance of 'NSException'
> Abort trap
> #########################################################################
>
> Kann jemand diese Fehlermeldung interpretieren und mir sagen, ob ich
> eher einen Fehler in der Konfiguration des Terminals suchen muss, oder
> einen Fehler in pyqt?
>
> Ich bin für jeden Tipp dankbar
> Wolfgang
> _______________________________________________
> python-de maillist  -  python-de at python.org
> http://mail.python.org/mailman/listinfo/python-de
>
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://mail.python.org/pipermail/python-de/attachments/20130615/b2135662/attachment.html>


Mehr Informationen über die Mailingliste python-de