[Feature] 如何应付clash core报『 level=error msg="yaml: invalid trailing UTF-8 octet"』?
Author: jacobinCreated Jul 14, 2025Updated Feb 12, 2026
VERIFY
功能描述
如抬头title,订阅而来的节点,其中某些节点的名称,在clashcore中不能通过utf8解码成功。错误信息如title。
检查发现是如下节点:
- {name: "%�\x11�|'��\x12\x12�LML\x0b�L\rˍ\r���KMLL%� 3", server: xxx.xxx.xxx.xxx, port: 8083, type: ssr, cipher: aes-256-cfb, password: iFqnzSscN, protocol: origin, obfs: tls1.2_ticket_auth, protocol-param: "", obfs-param: "", udp: true}
- {name: "%�\x11�|'��\x12\x12�LML\x0b�L\rˍ\r���KMLL%� 4", server: xxx.xxx.xxx.xxx, port: 8083, type: ssr, cipher: aes-256-cfb, password: iFqnzSscN, protocol: origin, obfs: tls1.2_ticket_auth, protocol-param: "", obfs-param: "", udp: true}所以,我的功能期望是,怎么解决修整这个yaml文件,让clashcore颔首领命通过? 我想过用
rename_node=!!script:function rename(node){...}以进行节点名称的重新命名,问题的关键是,我怎么sense到此类不可进行utf8解码其名的节点?
可能的解决方案
方案1:让subconverter之QuickJsEngine提供一个函数API:function isValidUtf8(buffer); 方案2:让用户我自己在rename_node中重新命名所有的节点,一锅全端,既莫能外;问题是依循怎么样的命名规则? 方案3:... ...
Source: tindy2013/subconverter