Tablora

Tablora · Biblioteca

Gestire il marcatore dell’ordine dei byte nella prima cella

Un indicatore dell’ordine dei byte UTF-8 può precedere la prima intestazione. Lo strumento di analisi ne toglie uno iniziale, così la prima cella è id senza nulla di nascosto.

Il carattere invisibile prima dell’intestazione

Molti programmi, tra cui l’opzione CSV UTF-8 di Excel, iniziano un file di testo con un indicatore dell’ordine dei byte (BOM): il carattere U+FEFF, che dice a chi legge che il file è in UTF-8. Nella maggior parte degli editor è invisibile, ma resta comunque un carattere. Se uno strumento non lo toglie, la prima intestazione diventa l’indicatore seguito da id, e qualsiasi ricerca o unione su una colonna chiamata id fallisce senza un motivo evidente.

Lo strumento di analisi toglie un indicatore dell’ordine dei byte all’inizio esatto del testo incollato, prima di leggere qualsiasi cella. La prima intestazione è quindi esattamente id.

Esempio: l’intestazione id,name

L’esempio della pagina è un’intestazione id,name che inizia con un indicatore dell’ordine dei byte, seguita dal record 1,Mira, con la virgola come «Delimitatore». Lo strumento di analisi riporta 2 righe e 2 colonne, e la riga 1, colonna 1, riporta id, senza prefissi nascosti.

Nient’altro nel testo viene modificato: le altre celle mantengono tutti i loro caratteri.

Senza quel passaggio, la prima intestazione sembrerebbe identica sullo schermo ma risulterebbe diversa nel confronto, ed è proprio il tipo di discrepanza difficile da vedere.

Controllare un file che potrebbe avere l’indicatore

Indicatori a metà testo e nelle esportazioni

Un indicatore a metà del testo resta parte di quella cella. La pulizia delle intestazioni ripetute toglie spazi e caratteri simili ai bordi delle celle prima del confronto, e questo vale anche per un indicatore dell’ordine dei byte all’inizio di una cella, quindi un’intestazione ripetuta proveniente da un secondo file unito può comunque essere riconosciuta. Le celle del risultato, però, mantengono il carattere.

L’esportazione CSV dell’app Tablora inizia di proposito con un indicatore dell’ordine dei byte, perché i fogli di calcolo aprano correttamente il testo accentato, turco, giapponese e in altre scritture non latine. Se incolli qui un file del genere, lo strumento di analisi toglie quell’indicatore e la prima intestazione arriva pulita.

Altri caratteri invisibili

Gli spazi a larghezza zero e i caratteri simili non vengono tolti. Se un’intestazione continua a non corrispondere dopo questo passaggio, cercali nella fonte.

Dati di ingresso

Testo della tabella
id,name 1,Mira
Delimitatore
,

Risultati

Righe
2
Colonne
2
idname
1Mira
Righe con larghezza diversa
0