None of you is showing how the new () is called (except graff, who passes no arguments).
The OP explicitely said that it had a lot of non-ASCII characters in the data. If - and only if - that data is valid UTF-8, Text::CSV_XS converts the fields to UTF-8, and accepts it as if binary => 1 was passed to the constructor.
my $csv = Text::CSV_XS->new ({ binary => 1, auto_diag => 1 });is with recent versions by far the safest way to instantiate $csv.
Another problem might be line endings. Unless you specify exactly what you have, recent versions allow all of \n, \r, and \r\n fully automatic. If you however pass something else, and the line ending do not match, you're likely to end up with very long lines.
What csv2xls.pl are you talking about? Text::CSV_XS comes with csv2xls in it's examples/ folder. Note that my version does not have a .pl extension.
In reply to Re: CSV_XS ERROR: 2027 - EIQ - Quoted field not terminated @ pos 408
by Tux
in thread CSV_XS ERROR: 2027 - EIQ - Quoted field not terminated @ pos 408
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |