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.


In reply to Re: DBD::Oracle - Character Encoding Conversion by kennethk
in thread DBD::Oracle - Character Encoding Conversion by Zygomax

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.