修复Windows下Kivy无法读取UTF-8格式的kv文件问题

问题描述

当kivy配置文件(*.kv)编码格式为UTF-8时,在运行时,会出现编码错误或乱码问题。
错误提示类似于:

UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x8b in position 206: illegal multibyte sequence

错误提示位置:

File “<kivy安装路径>\kivy\lang\builder.py”, line 290, in load_file
data = fd.read()

问题分析

系统默认以’gbk‘模式打开文件,所以读取数据时会出错。

问题解决

将配置文件以二进制格式打开,然后将数据以’utf-8’格式编码
即:
原文件内容:

        with open(filename, 'r') as fd:
            kwargs['filename'] = filename
            data = fd.read()

修改后文件内容:

        with open(filename, 'rb') as fd:
            kwargs['filename'] = filename
            data = fd.read().decode('utf-8')
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值