#codifica

La dualità del fixare #bug (o, in generale, far funzionare il #software?):

  • Perdi almeno 1 ora buona appresso ad un #glitch oscurissimo (spoiler: la codifica del testo centra sempre in tutti questi bug, in realtà estremamente stupidi), facendo svariati test e tentando varie opzioni prima sensate, e poi senza senso perché altrimenti non sai nemmeno come continuare. 🤥️
  • Nel frattempo si è fatto #tardi in culo, ti prepari per andare a #dormire e nel frattempo pensi, ma niente… a metà spegni ormai il PC, finisci di prepararti, e continui a #pensare, e solo a quel punto un’idea ovvia viene in testa. Troppo tardi ormai. 💀️

E poi ancora, perché le #incoerenze non sono mai abbastanza:

  • Giustamente nel letto ti irrequieti e non prendi #sonno, perché il cervello non prende pace senza vedere il #problema finalmente risolto dopo tutta la #pazzia passata, anche scommettendo che l’#idea appena venuta è giusta al 100%. 🥴
  • Però prima o poi il sonno lo prendi, e dopo ore arriva la #mattina dopo, in cui la sveglia suona e… pensi “zzzzzzz voglio stare nel lettino ancora, tanto la #rogna in mente l’ho risolta, chi me lo fa fare di ammazzarmi a prima mattina [prima mattina: le 9:30, ndr.]”. 🥹

Insomma, è una #condanna. Non se ne esce. Comunque si, il mio #errore era #stupido: stavo cercando di caricare #file nella galleria cloud di #WordPress tramite la #API REST, ma ricevevo sempre un rest_upload_sideload_error… controllo gli header, tutti giusti; cerco in giro, poca roba che non mi aiuta; provo #minuzie come mettere gli header lowercase, ancora niente; tento di settare a mano content-type parziali o estensioni file arbitrarie, e ovviamente non risolvo. 🤯️

Però, noto che un caricamento da curl, anziché dal mio #codice JS, va a buon fine. Allora, provo a caricare verso un server netcat in entrambi i modi, così da poter vedere al volo i dati della trasmissione #HTTP, e noto una differenza stronzetta: il corpo generato dal mio #server è molto più grosso del peso normale del file… quindi qualcosa lo sta corrompendo E qui, però, mi sono ribloccata. 🤔️

Solo poi, quando ormai avevo chiuso tutto come ho detto, ci ho pensato: ma io, nella parte del #programma che legge i #dati trasmessi dal client, vado a castare tutto ad una stringa; sarà questa la causa? …E, ricordandomi di altri #incidenti simili capitati in #NodeJS, capisco subito che è così. Detto in breve: la #codifica del testo centra sempre e rovina ogni cosa. Se esistesse solo l’ASCII, ecco che castare dati binari a stringhe non causerebbe alcun danno. E invece abbiamo deciso che i #computer devono supportare nella loro codifica migliaia di #caratteri discutibili, come tutti quelli emoji. E io, dopo aver apportato questo #fix, devo ora continuare a programmare. Non. Se. Ne. Esce. 😭️

https://octospacc.altervista.org/2024/02/09/insetti-utf-nel-mio-codice/

#API #bug #caratteri #codice #codifica #computer #condanna #dati #dormire #errore #file #fix #glitch #HTTP #incidenti #incoerenze #mattina #minuzie #NodeJS #pazzia #pensare #problema #programma #rogna #server #software #sonno #stupido #tardi #WordPress

[⤴️ https://octospacc.altervista.org/2023/12/13/493]

Viviamo tutti nello stesso mondo fatto di (Uni)codice, ma gli unici a soffrire a riguardo siamo sempre e soltanto noi #programmatori… 💀️

Vi lascio immaginare la mia faccia quando ho notato che il messaggio di qualche ora fa era stato inoltrato così dal bot RSS…

Problemi di #codifica del testo con le magagne di #Unicode, un classico della #programmazione.

Alla fine è bastato poco per risolvere. Ma a sto giro è stata questione di culo. (Spiegazione tecnica: <🤓️> Il documento RSS iniziale e quello finale hanno complessivamente la codifica correttamente specificata, il problema è che per modificare il contenuto #HTML dei post di ogni elemento del feed, essendo questo salvato come testo semplice (CDATA) e non come XML, esso va parsato come documento a sé… ma non essendo un documento HTML completo, non contiene da nessuna parte una specifica della codifica quando estratto dal contesto XML, e quindi automaticamente lo status di #UTF8 va in mona; È bastato usare la funzione integrata di PHP mb_convert_encoding($testohtml, 'HTML-ENTITIES', 'UTF-8'); per sistemare l’HTML prima del #parsing, per risolvere la rogna. </🤓️>)

https://octospacc.altervista.org/2023/12/13/497/

#codice #codifica #coding #encoding #HTML #parsing #programmatori #programmazione #Unicode #UTF8

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst