0

Python 3-PyQt4 アプリケーションで非 ASCII 文字を含む文字列をコマンド ライン引数として渡し、それらにアクセスしようとすると、QCoreApplication.arguments()何か問題が発生します。

In [1]: from PyQt4.QtGui import QApplication

In [2]: from PyQt4.QtCore import QCoreApplication

In [3]: QApplication(['a', 'b'])
Out[3]: <PyQt4.QtGui.QApplication at 0x7f987ed07510>

In [4]: QCoreApplication.arguments()
Out[4]: ['a', 'b']

In [5]: QApplication(['a', 'b', 'γ', 'δ', 'v'])
Out[5]: <PyQt4.QtGui.QApplication at 0x7f987ed07808>

In [6]: QCoreApplication.arguments()
Out[6]: ['a', 'b', 'unknown', 'unknown', 'v']

In [7]:

どうすれば修正できますか?

編集:Linuxを使用しています。

4

1 に答える 1

1

QApplication のエンコーディングは Latin-1 であり、UTF-8 である必要があります。

これを回避するには、引数を.encode('utf-8')に渡す前に、 を使用して手動でエンコードすることができますQApplication

于 2013-09-12T17:55:58.717 に答える