Трябва да разграничите две различни настройки на nls
-
външният - определен от променливата на средата NLS_LANG във вашето приложение. Това определя вашето вътрешно представяне на низ, когато изпращате данни към OCI клиентска библиотека.
-
вътрешната. Това е наборът от символи, използван от Oracle за съхраняване на вашите данни на диск.
Опитайте да изпълните
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;
Ако покаже, че използвате нещо като US7ASCII или ISO8859P1, тогава Oracle приема вашия символ и го преобразува в целеви набор от символи (чрез премахване на ударение или чрез замяна с „?“).