loading...

Tuxmind

Visidata e UTF-8

terça-feira, 28 de fevereiro de 2023
Tuxmind

Editando um arquivo json no visidata me deparei com um bug.

Quando faço alterações e salvo um arquivo json, o visidata insite em guardar o texto em us-ascii. Mesmo que o fichero original esteja em UTF-8.

Palavras como "pão" fica com encode ascii escape "p\u00e3o".

Já verifiquei as configurações do visidata e tenho o encode UTF-8 como "default".

Não encontrei no site do visidata nada sobre este problema.

A versão do visidata com este problema é a v2.2.1 e usa o python v3.10.6.

Mas arranjei uma solução provisória com a ajuda de um programa para Linux chamado ascii2uni.

No Debian ou Ubuntu basta instalar...

sudo apt install uni2ascii

E depois para "corrigir" o ficheiro json use o comando...

cat file.json | ascii2uni -a U > file-out.json

Também encontrei outro problema do visidata com arquivos antigos que usam UTF-8 com (BOM) no encode.

Visidata não funciona com UTF-8 (BOM) files.

Para remover o "BOM" de um arquivo UTF-8, basta utilizar o sed.

sed '1s/^\xEF\xBB\xBF//' < original.json > new.json


Update

Já encontrei uma solução para este bug.

Veja aqui neste link, como resolver.

Nenhum comentário: