in reply to Is setting $ENV{'NLS_LANG'} deprecated?
Be sure to set it bbefore/b DBD::Oracle connects, like mje suggests
BEGIN { $ENV{NLS_LANG} = "AMERICAN_AMERICA.UTF8" }Be sure to have your data correctly encoded before passing it to the DBI. See what happens with the different data:
$ perl -C2 -MDP -wle'$_="\xc3\x84";print"$_\t",DPeek$_' Ã PV("\303\204"\0) $ perl -C2 -MDP -wle'$_="\xc3\x84";utf8::decode$_;print"$_\t",DPeek$_' Ä PV("\303\204"\0) [UTF8 "\x{c4}"] $ perl -C2 -MDP -wle'$_="\x{c4}";print"$_\t",DPeek$_' Ä PV("\304"\0) $ perl -C2 -MDP -wle'$_="\x{c4}";utf8::decode$_;print"$_\t",DPeek$_' Ä PV("\304"\0) $ perl -C2 -MDP -wle'$_="\x{c4}";utf8::encode$_;print"$_\t",DPeek$_' Ã PV("\303\204"\0) $ perl -C2 -MDP -wle'$_="\x{c4}";utf8::encode$_;utf8::decode$_;print"$ +_\t",DPeek$_' Ä PV("\303\204"\0) [UTF8 "\x{c4}"]
|
|---|