Musíte rozlišovat dvě různá nastavení nls
-
externí - definovaný proměnnou prostředí NLS_LANG ve vaší aplikaci. To určuje vaši interní reprezentaci řetězců, když posíláte data do klientské knihovny OCI.
-
ten vnitřní. Je to znaková sada, kterou Oracle používá k ukládání vašich dat na disk.
Zkuste provést
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;
Pokud ukazuje, že používáte něco jako US7ASCII nebo ISO8859P1, pak Oracle vaši postavu přijme a převede ji na cílovou znakovou sadu (buď odstraněním přízvuku nebo nahrazením '?').