我有这个错误/etc/i3blocks.conf
Error: Could not parse JSON (lexical error: invalid bytes in UTF8 string.)
我的代码/etc/i3blocks.conf
看起来像这样。
[rss]
command=rsstail -n1 -1 -N -u https://stackexchange.com/feeds/questions | head -c 50
color=#00FF00
interval=300
[rss]
command=rsstail -n1 -1 -N -u https://unix.stackexchange.com/feeds | head -c 50
color=#00FF00
interval=60
[rss]
command=rsstail -n1 -1 -N -u https://softwarerecs.stackexchange.com/feeds | head -c 50
color=#00FF00
interval=300
[rss]
command=rsstail -n1 -1 -N -u https://news.ycombinator.com/rss | head -c 50
color=#00FF00
interval=300
这是因为 RSS 标题包含不允许的字符。否则我没有这个错误。我该如何修复或处理我的这个错误/etc/i3blocks.conf
?这样一来,如果一个 RSS 频道不起作用,其他三个就可以了吗?
这
head -c 50
可能会导致问题,因为它可能会在中点切断 utf8 字节序列,从而创建错误的代码点。如果您需要使用它,您可以将多字符输出转换为每个字符仅使用 1 个字节的编码,例如 ascii 或 iso-8859-15。只需在 locale 环境中将其设置为
rsstail
:或者,如果确实有来自 rsstail 的错误代码,并且假设 rsstail 的输出可能是 utf8,您可以通过管道输出,
iconv
要求它用其他内容音译错误代码: