Я только начал учиться python. Поэтому я хотел бы заранее извиниться за этот вопрос низкого уровня.
Следующий код предназначен для вывода данных из базы данных в окне сообщения, и когда данные содержат две байтовые буквы (например, «KANJI» или что-то), эта ошибка возникала каждый раз.
"UnicodeDecodeError: 'shift_jis' codec can't decode byte 0x87 in position 11: illegal multibyte sequence"
Как я могу решить эту проблему ??
# -*- coding: utf-8 -*-
from tkinter import *
from tkinter import ttk
from tkinter import messagebox
import cx_Oracle
def foo():
HOST = "99.99.99.99"
PORT = 1521
SID = "XXXXX"
tns = cx_Oracle.makedsn(HOST, PORT, SID)
conn = cx_Oracle.connect("XXXXXX", "XXXXXX", tns)
cur = conn.cursor()
cur.execute("SELECT ITEMNAME FROM MA_ITEM WHERE ITEMID='" + t.get() + "'")
row = cur.fetchall()
for r in row:
messagebox.showinfo("RESULT", r[0])
break
root = Tk()
root.title('My First App')
frame1 = ttk.Frame(root)
label1 = ttk.Label(frame1, text='ITEMID:')
t = StringVar()
entry1 = ttk.Entry(frame1, textvariable=t)
button1 = ttk.Button(frame1, text='OK', command=foo)
frame1.grid(row=0,column=0,sticky=(N,E,S,W))
label1.grid(row=1,column=1,sticky=E)
entry1.grid(row=1,column=2,sticky=W)
button1.grid(row=2,column=2,sticky=W)
for child in frame1.winfo_children():
child.grid_configure(padx=5, pady=5)
root.mainloop()
Если кто-то скажет мне, я был бы так счастлив! Спасибо.