HaujetZhao / CapsWriter-Offline

CapsWriter 的离线版,一个好用的 PC 端的语音输入工具
2.43k stars 190 forks source link

Bug: 更改热词后客户端报错无法启动,提示热词得到的拼音数量与字数不符 #100

Open Notofnice opened 3 months ago

Notofnice commented 3 months ago

解压后只要不更改热词可以正常使用,后续只要更改热词后第二次启动客户端便会报错,即使将热词改为原样依然同样报错 下面是报错消息:

Traceback (most recent call last): File "D:\CapsWriter-Offline-GUI-v1.2.1\core_client.py", line 126, in init_mic() File "D:\CapsWriter-Offline-GUI-v1.2.1\core_client.py", line 102, in init_mic asyncio.run(main_mic()) File "asyncio\runners.py", line 190, in run File "asyncio\runners.py", line 118, in run File "asyncio\base_events.py", line 654, in run_until_complete File "D:\CapsWriter-Offline-GUI-v1.2.1\core_client.py", line 58, in main_mic update_hot_all() File "D:\CapsWriter-Offline-GUI-v1.2.1\util\client_hot_update.py", line 72, in update_hot_all update_hot_zh() File "D:\CapsWriter-Offline-GUI-v1.2.1\util\client_hot_update.py", line 25, in update_hot_zh num_hot_zh = hot_sub_zh.更新热词词典(f.read()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\CapsWriter-Offline-GUI-v1.2.1\util\hot_sub_zh.py", line 74, in 更新热词词典 print(f' 热词「{热词}」得到的拼音数量与字数不符,抛弃') File "D:\CapsWriter-Offline-GUI-v1.2.1\site-packages\colorama\ansitowin32.py", line 47, in write self.__convertor.write(text) File "D:\CapsWriter-Offline-GUI-v1.2.1\site-packages\colorama\ansitowin32.py", line 177, in write self.write_and_convert(text) File "D:\CapsWriter-Offline-GUI-v1.2.1\site-packages\colorama\ansitowin32.py", line 205, in write_and_convert self.write_plain_text(text, cursor, len(text)) File "D:\CapsWriter-Offline-GUI-v1.2.1\site-packages\colorama\ansitowin32.py", line 210, in write_plain_text self.wrapped.write(text[start:end]) UnicodeEncodeError: 'gbk' codec can't encode character '\ufeff' in position 7: illegal multibyte sequence

Notofnice commented 3 months ago

发现是编码问题,原先是UTF-8,没想到记事本的UTF-8是UTF-8-BOM,给我默认存了个UTF-8-BOM编码,弄得无法读取了,希望后续可以更新下这问题,支持下其它编码