tkinter 中的扩展 ASCII
Extended ASCII in tkinter
我正在尝试创建一个显示随机单词的灵感应用。它适用于字母字符,但是当一个单词中包含 öäü
或 ß
之类的字符时,它只会显示随机的乱码。
需要的文字:Rindfleischverpackungsetikettierungsgerät
显示的文字:Rindfleischverpackungsetikettierungsgerßt
另一个例子:
这是我的代码(仍然非常基础和实用)
import tkinter as tk
from random import randint
class ButtonBlock(object):
def __init__(self, master):
self.master = master
self.button = []
self.button_val = tk.IntVar()
entry = tk.Entry()
entry.grid(row=0, column=0)
entry.bind('<Return>', self.onEnter)
def onEnter(self, event):
entry = event.widget
num = int(entry.get())
for button in self.button:
button.destroy()
for i in range(1, num+1):
leine = randint(1, 1908815)
print(leinen[leine])
self.button.append(tk.Label(
self.master, text=leinen[leine]))
self.button[-1].grid(sticky='WENS', row=i, column=2, padx=1, pady=1)
def onSelect(self):
print(self.button_val.get())
if __name__ == '__main__':
deutsch = open("WORT.txt", "r")
leinen = deutsch.readlines()
root = tk.Tk()
ButtonBlock(root)
root.mainloop()
有什么方法可以让 tkinter 正确渲染字符 öäüß
? (顺便说一句 WORT.txt
只是一个单词表)
要读取文本文件中的扩展 ASCII 字符,请在 open
文件时指定编码,如下所示:
deutsch = open("WORT.txt", "r", encoding="latin1")
这需要完成,因为如果未指定 encoding
,则使用的默认值取决于平台(显然不需要 "latin1"
在你的系统上)。请参阅 built-in open()
函数的文档。
我正在尝试创建一个显示随机单词的灵感应用。它适用于字母字符,但是当一个单词中包含 öäü
或 ß
之类的字符时,它只会显示随机的乱码。
需要的文字:Rindfleischverpackungsetikettierungsgerät
显示的文字:Rindfleischverpackungsetikettierungsgerßt
另一个例子:
这是我的代码(仍然非常基础和实用)
import tkinter as tk
from random import randint
class ButtonBlock(object):
def __init__(self, master):
self.master = master
self.button = []
self.button_val = tk.IntVar()
entry = tk.Entry()
entry.grid(row=0, column=0)
entry.bind('<Return>', self.onEnter)
def onEnter(self, event):
entry = event.widget
num = int(entry.get())
for button in self.button:
button.destroy()
for i in range(1, num+1):
leine = randint(1, 1908815)
print(leinen[leine])
self.button.append(tk.Label(
self.master, text=leinen[leine]))
self.button[-1].grid(sticky='WENS', row=i, column=2, padx=1, pady=1)
def onSelect(self):
print(self.button_val.get())
if __name__ == '__main__':
deutsch = open("WORT.txt", "r")
leinen = deutsch.readlines()
root = tk.Tk()
ButtonBlock(root)
root.mainloop()
有什么方法可以让 tkinter 正确渲染字符 öäüß
? (顺便说一句 WORT.txt
只是一个单词表)
要读取文本文件中的扩展 ASCII 字符,请在 open
文件时指定编码,如下所示:
deutsch = open("WORT.txt", "r", encoding="latin1")
这需要完成,因为如果未指定 encoding
,则使用的默认值取决于平台(显然不需要 "latin1"
在你的系统上)。请参阅 built-in open()
函数的文档。