簡體   English   中英

Windows上的unicode窗口標題

[英]unicode window title on windows

我認為在21世紀這不是問題,而是:

import sys
from PySide import QtGui
print('\u2122')
app = QtGui.QApplication(sys.argv)
widget = QtGui.QWidget()
widget.setWindowTitle('\u2122')
widget.show()
sys.exit(app.exec_())

在Ubuntu上,在窗口和終端上都顯示商標符號;在Windows(10)上,它在兩個地方都顯示\™ 我在兩個系統上都使用python 3.4 ,在Windows上是Canopy安裝,如果有幫助的話,但可能與之完全無關。 我如何在Windows上也顯示unicode字符?

編輯

好的,事實證明,擁有print()並不能使其成為python 3,這很不好。 雖然Windows python 2.7.9在將字符串固定為u'\™時給出了一個有趣的錯誤:

File "C:\Program Files\Enthought\Canopy32\App\appdata\canopy-1.5.5.3123.win-x86\lib\encodings\cp852.py", line 12, in encode
    return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u2122' in position 0: character maps to <undefined>

無論如何,安裝3.x即可解決此問題。

確保Windows框上有Python3.x。 結果與使用Python 2.x一致。

要使用2.x編寫代碼,請在每個字符串后附加一個u ,將字符串更改為Unicode字符串。 例如

widget.setWindowTitle('\u2122')

在Windows上,請勿嘗試將Unicode打印到控制台-它已完全損壞。 如果必須,請參見以下允許它的模塊: https : //github.com/Drekin/win-unicode-console

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM