estou com esse erro no meu/etc/i3blocks.conf
Error: Could not parse JSON (lexical error: invalid bytes in UTF8 string.)
Meu código /etc/i3blocks.conf
se parece com isso.
[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
É porque o título RSS contém caracteres não permitidos. Caso contrário, não tenho esse erro. Como posso corrigir ou lidar com esse erro no meu /etc/i3blocks.conf
? Então, se um canal RSS não funcionar, os outros três funcionarão?
Isso
head -c 50
pode causar um problema, pois pode cortar uma sequência de bytes utf8 no ponto médio, criando um ponto de código incorreto. Se precisar usá-lo, você pode converter a saída multichar para uma codificação que usa apenas 1 byte por caractere, como ascii ou iso-8859-15.Pode ser suficiente apenas definir isso no ambiente de localidade para
rsstail
:Como alternativa, se realmente houver um código ruim vindo de rsstail e assumindo que a saída de rsstail provavelmente está em utf8, você pode canalizar a saída por meio de ,
iconv
solicitando que ele translitere o código ruim com outra coisa: