最近做个小工具,里面需要用到中文字符串比较,本地调试一直也没问题,但是打包后就一直无法判断中文字符串相等,最后查阅了资料才知道是字符编码格式的问题,初始化的时候需要指定中文的编码格式,如:'黄河之水天上来'.decode('utf8'),比较的时候也需要将中文字符编码为utf8,即可解决问题。
下拉框字符串比较:
初始化:
numberChosen['values'] = ('飞天虎'.decode('utf8'), '飞天豹'.decode('utf8'), '飞天鹅'.decode('utf8')) # 设置下拉列表的值
比较判断:
if(numberChosen.get()=='飞天虎'.decode('utf8')): rid = str(1019291921929191) # 飞天虎
附打包指令:
pyinstaller -F xxx.py 黑窗版
pyinstaller -F -w xxx.py 纯净版