column: read failed: Invalid or incomplete multibyte or wide

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5325
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

column: read failed: Invalid or incomplete multibyte or wide

Messaggio da ZeroUno »

Ho da poco cominciato ad usare il comando 'column' per formattare il testo.

Però sembra che gli dia fastidio quando si usano caratteri non utf-8, per esempio lettere accentate:

Codice: Seleziona tutto

# echo è|column
column: read failed: Invalid or incomplete multibyte or wide character
come si risolve?

[edit]

Codice: Seleziona tutto

# echo è|LC_CTYPE=it_IT column
risolve, ma io non so a priori in che lingua è scritto il testo.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
brg
Linux 3.x
Linux 3.x
Messaggi: 515
Iscritto il: sab 12 mar 2011, 14:20
Slackware: 14.2
Kernel: 4.4.172
Desktop: KDE4
Località: Montecatini
Contatta:

Re: column: read failed: Invalid or incomplete multibyte or

Messaggio da brg »

Perché non usare UTF-8, visto che è lo standard e funziona con ogni lingua conosciuta? Per quanto riguarda il problema, credo che l'unica soluzione possibile sarebbe quella di leggere il LANG di sistema o qualcosa del genere:

Codice: Seleziona tutto

# echo è | LC_CTYPE=$LANG column
Non è possible distinguere uno standard dall'altro guardando solo alla stringa.
Tuttavia a me funzionano comandi come:

Codice: Seleziona tutto

bash-4.2$ LC_CTYPE=it_IT echo è | column
è
bash-4.2$ LANG=it_IT echo è | column
è
bash-4.2$ LC_ALL=it_IT echo è | column
è
e non capisco che cosa ci sia di diverso con il tuo esempio, forse che la tua lingua di sistema non è UTF-8 ma il terminale virtuale sì?

Avatar utente
conraid
Staff
Staff
Messaggi: 13526
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: column: read failed: Invalid or incomplete multibyte or

Messaggio da conraid »

ZeroUno ha scritto:Però sembra che gli dia fastidio quando si usano caratteri non utf-8, per esempio lettere accentate:
ma le lettere accentate sono caratteri utf8. Cosa intendi per non utf8?

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5325
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: column: read failed: Invalid or incomplete multibyte or

Messaggio da ZeroUno »

mi sono confuso.
Di default è settato a "C" che credo sia tipo ascii 7bit.
Visto che non so a priori la lingua e anzi all'interno del testo possono esserci più lingue (il testo di cui mi sono accorto era in francese), ho messo LC_CTYPE=en_US e funziona. Credo che funzioni qualunque si metta che non sia a 7 bit.
Lo script è pubblico e può girare sul computer di persone di tutto il mondo. Considera poi che (almeno a me) $LANG non è settato per default, e dove lo è spesso faccio unset LANG per assicurarmi che l'output dei comandi non esca in italiano facendo fallire le grep.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
conraid
Staff
Staff
Messaggi: 13526
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: column: read failed: Invalid or incomplete multibyte or

Messaggio da conraid »

c'è anche LANG=C.utf8 che funziona.

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5325
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

[SOLVED] Re: column: read failed: Invalid or incomplete mult

Messaggio da ZeroUno »

conraid ha scritto:c'è anche LANG=C.utf8 che funziona.
ecco, è quello che cercavo (non sono esperto di codifiche)
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Rispondi