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


in reply to Re^8: Text::CSV encoding parse()
in thread Text::CSV encoding parse()

I've substituted my own string for yours and here's what I see now in the browser:
$VAR1 = "/search/\x{bf}Cuales son las partes de una cadena de conexi\x{f3}n??scope=SSGU8G_12.1.0|/com.ibm.jdbc_pg.doc/ids_jdbc_011.htm|0|1|1|0\n";
UTF-8 flag is on

/search/¿Cuales son las partes de una cadena de conexión??scope=SSGU8G_12.1.0|/com.ibm.jdbc_pg.doc/ids_jdbc_011.htm|0|1|1|0

After Text::CSV: /search/¿Cuales son las partes de una cadena de conexión??scope=SSGU8G_12.1.0 | /com.ibm.jdbc_pg.doc/ids_jdbc_011.htm

\x{bf} or U+00BF is the inverted question mark and U+00F3 is “ó”, so AFAICT that looks correct, doesn't it?

BTW I'm assigning $data by reading a stdout output file that is returned from the db via the tool I'm using for the SQL query.

Ok, so do I understand correctly that you've tested the code you showed within the script I posted?

(BTW, why not use DBI to connect directly to the database instead of going through a file?)

I've also tried opening the file without the :encoding and get the same result.

Well, if you've got the use open qw/:std :utf8/; that I suggested at the top of the script, that also sets utf8 as the default encoding layer. As long as you're not getting warnings such as "Malformed UTF-8 character: \xbf" or "utf8 "\xBF" does not map to Unicode" (check the web server's error logs and/or run the script from the command line), then it would seem your file is probably encoded as UTF-8, and it would seem that everything is correct...

So are you still seeing the same problem as before, or is it working now?