I am trying to insert a mu sign (µ) into a varchar2, and this almost works.
Database: 10g
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CHARACTERSET WE8ISO8859P15
NLS_NCHAR_CHARACTERSET AL16UTF16
When I run
insert into lab_measurements values (136, 'test', 13.37, 'µmol/L', null);
select * from lab_measurements where parameter = 'test';
from SqlDeveloper, it works fine.
When I run it from SqlPlus, with NLS_LANG set to AMERICAN_AMERICA.AL32UTF8, it also works.
When I run it from Perl through DBI and DBD::Oracle, I get an inverted question mark (¿) instead of the mu character.
I don't understand why though, as DBI uses the same NLS_LANG as SqlPlus (both are run from the same system and session).
Am I doing something wrong here? Why doesn't it work in Perl?