2017-09-28 13 views
0

私はPythonでインターフェイスを設計しました。これは自然言語処理に関連するプロジェクトとして使用したいものです。しかし、これまで入力フィールドにBangla言語の単語を書き込もうとしたときに質問記号 "????"が表示されますが、どうすれば修正できますか?ここでPythonベースのGUIでのベンガル語のスキャンと印刷。

は、インタフェースコード:

from tkinter import * 

def show_entry_fields(): 

#This Line is Printing The Scanned String 
    print("First Sentence: %s\nSecond Sentence: %s\nThird Sentence: %s" % (e1.get(), e2.get(),e3.get())) 


#Below This Line Is Interface Coding I think 
    e1.delete(0,END) 
    e2.delete(0,END) 
    e3.delete(0,END) 

master = Tk() 
Label(master, text="First Sentence").grid(row=0) 
Label(master, text="Second Sentence ").grid(row=1) 
Label(master, text="Third Sentence").grid(row=2) 

e1 = Entry(master) 
e2 = Entry(master) 
e3 = Entry(master) 


e1.insert(20,"") 
e2.insert(20,"") 
e3.insert(20,"") 


e1.grid(row=0, column=1, columnspan=2) 
e2.grid(row=1, column=1, columnspan=2) 
e3.grid(row=2, column=1, columnspan=2) 


Button(master, text='Quit', command=master.quit).grid(row=5, column=0, sticky=W, pady=4) 
Button(master, text='Show Similar Word', command=show_entry_fields).grid(row=5, column=1, sticky=W, pady=4) 

mainloop() 

スクリーンショット:画像1英語でImage 1Image 2

が正常に動作しますが、私は画像2でバングラの使用を開始するとき、それは「印刷し???? "疑問符。インタフェースとシェルは同じ "????"私はちょっと調べて、解決策は "utf-8"エンコーディングであると思っていますが、このインターフェースでは実装できません。

+0

表示しようとしているグリフをサポートするフォントを使用していますか? Tkinterは非常にロボットのユニコードをサポートしています。 –

+0

それはベンガル語のフォントで、私は通常のベンガル語の文字を印刷しようとしていました。しかしGUIでは、 "?????"を除いて何も表示されません。私はこの解決策を試しました:https://stackoverflow.com/questions/30169541/accessing-bangla-utf-8-string-by-index-in-python 何も起こりませんでした。 –

+0

フォントのベンガル語フォントを設定するコードのどこにも表示されません。 –

答えて

0

utf-8エンコーディングをサポートする別のPythonライブラリを使用して問題を修正しました。

これはPyQtです。以前はtkinterを使用していましたが、それは表示されていましたか? tkinterライブラリにはutf-8がサポートされていなかったためです。