in reply to DBD::Oracle - Character Encoding Conversion

The packaged code I use to connect to Oracle is:
$ENV{NLS_LANG} = 'AMERICAN_AMERICA.AL32UTF8'; my $db = DBI->connect( $dbid, $user, $pass, { PrintError => 0, RaiseError => 1, AutoCommit => 0, ora_charset => 'AL32UTF8', }, ); $db->do("ALTER SESSION SET NLS_DATE_FORMAT='yyyy-mm-dd'");
As I remember, I had to use both the NLS_LANG environmental variable and the ora_charset connect attribute to successfully insert and extract. This seems to be in conflict with the docs, which imply they are redundant.

The bigger question to consider is how do you know you've inserted correctly, and how do you know your extract is failing? There are many points along a pipeline where an encoding can fail. Have you verified basic input and output? Printed out the string using an encoding such as HTML::Entities so that the output is ASCII?


#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.