Problema: se il csv sorgente contiene dei caratteri estesi in encoding utf8 (ad esempio le lettere tedesche che l'umlaut) mi trovavo nell'output degli errori:
Cannot parse:__contenuto_della_riga_del_csv__Soluzione: dire a Perl che quello che sta leggendo e' un file utf8, trasformando la riga:
open (CSV, '<:', $file)in:
open (CSV, '<:utf8', $file)Questo ha fatto sparire i warning relativi al parsing del file, pero' l'output risultava errato con i caratteri estesi sostituiti da orrende sequenze e codici.
Il nuovo problema era che l'output veniva encodato in ISO-8859
Per forzare le scritture su standard output in UTF8, bisogna inserire a inizio script la riga:
binmode STDOUT, ":utf8";
1 commento:
Hai provato ad inserire binary=>1 quando richiami il new() della funzione?
Posta un commento