Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Rails3 nie może zapisać „ñ” w Oracle 11g

Musisz rozróżnić dwa różne ustawienia nls

  • zewnętrzny - zdefiniowany przez zmienną środowiskową NLS_LANG w Twojej aplikacji. To określa twoją wewnętrzną reprezentację ciągu podczas wysyłania danych do biblioteki klienta OCI.

  • wewnętrzny. Jest to zestaw znaków używany przez Oracle do przechowywania danych na dysku.

Spróbuj wykonać

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;

Jeśli pokazuje, że używasz czegoś takiego jak US7ASCII lub ISO8859P1, Oracle zaakceptuje twój znak i zamieni go na docelowy zestaw znaków (albo przez usunięcie akcentu, albo przez zastąpienie go znakiem '?').




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uniknąć błędu ORA-04091 w wyzwalaczu?

  2. Nie można załadować danych z pliku do tabeli Oracle za pomocą executeMany()

  3. W jaki sposób Oracle przetwarza wywołania funkcji składowanych w SQL?

  4. Aktualizacja SQL, usuwanie i wstawianie w tym samym czasie

  5. Oracle:Jak wykryć zakończenie procesu klienta, tak jak to działa w sqlplus?