Du skal skelne mellem to forskellige nls-indstillinger
-
den eksterne - defineret af miljøvariablen NLS_LANG i din applikation. Dette bestemmer din interne strengrepræsentation, når du sender data til OCI-klientbiblioteket.
-
den indre. Det er det tegnsæt, som Oracle bruger til at gemme dine data på disken.
Prøv at udføre
select r.module, t.*
from v$sesssion_connection_info t
join v$session r on (r.sid = t.sid and t.serial# = r.serial#)
where r.sid = <your ruby connection SID>;
select * from nls_database_parameters;
select * from nls_instance_parameters;
Hvis det viser, at du bruger noget som US7ASCII eller ISO8859P1, accepterer Oracle din karakter og konverterer den til måltegnsæt (enten ved at fjerne en accent eller ved at erstatte med '?').