sql >> Databasteknik >  >> RDS >> Oracle

Rails3 kan inte spara 'ñ' till Oracle 11g

Du måste skilja på två olika nls-inställningar

  • den externa - definieras av miljövariabeln NLS_LANG i din applikation. Detta bestämmer din interna strängrepresentation när du skickar data till OCI-klientbiblioteket.

  • den inre. Det är teckenuppsättningen som används av Oracle för att lagra dina data på disken.

Försök att köra

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;

Om det visar att du använder något som US7ASCII eller ISO8859P1 accepterar Oracle din karaktär och konverterar den till målteckenuppsättning (antingen genom att ta bort en accent eller genom att ersätta med '?').




  1. Vanliga MySQL-fält och deras lämpliga datatyper

  2. Tsrange - Beräknar skillnaden mellan två intervall

  3. SSIS - Utföra en sökning på en annan tabell för att få relaterad kolumn

  4. MySQLdb kan inte initiera teckenuppsättning utf-8 fel