http://www.perlmonks.org?node_id=980912


in reply to Re: Non-ASCII Characters As Separators/Quotes/Escapes When Using Text::CSV_XS
in thread Non-ASCII Characters As Separators/Quotes/Escapes When Using Text::CSV_XS

Thank you, frozenwithjoy, for your reply. I appreciate it.

To get things started, I was having major issues until I changed your two instances of encoding(UTF-8) to utf8.

My use of :encoding(UTF-8) instead of :encoding(utf8) is intentional and purposeful.

Next, are you sure you want \x{feff}?

I'm absolutely sure. It's the Unicode byte order mark, and it's vital to my test because the real CSV files I must process invariably have the byte order mark in them, encoded in UTF-8 (EF BB BF).

When I get rid of it, I start getting things quoted: … also, it gets rid of the weird þ characters.

This doesn't happen for me. I get the same unhelpful results regardless of the presence or absence of the Unicode byte order mark. What versions of Perl and Text::CSV_XS are you using?

One more thing, your input file isn't formatted consistently... There are some /n and double \x{fe}\x{fe} characters where I don't think you intended them to be.

Those literal newlines and Latin small thorns (þ) are intentional and purposeful. They're vital to my test.

Jim