sql >> Database teknologi >  >> RDS >> Oracle

Rails3 kan ikke gemme 'ñ' til Oracle 11g

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 '?').




  1. Bestem max tilladt længde i en kolonne i mysql

  2. Sådan kører du flere opdateringsforespørgsler i en enkelt sætning i PHP og mySQL

  3. Sådan sikkerhedskopieres og gendannes (eksportere og importere) MySQL-databaser Tutorial

  4. Hvordan kan jeg forbinde flere SQL-tabeller ved hjælp af ID'erne?