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

Problemi NLS_CHARACTERSET WE8ISO8859P1 e UTF8 in Oracle

http://docs.oracle.com/cd /B19306_01/server.102/b14225/ch2charset.htm#g1009784

D'altra parte, UTF-8 utilizza diversi byte per memorizzare un simbolo.

Se il tuo database utilizza WE8ISO8859P1 e il tipo di colonna è del gruppo VARCHAR (non NVARCHAR) e stai inserendo un simbolo con codice> 255, questo simbolo verrà trasformato in WE8ISO8859P1 e alcune informazioni andranno perse.

In parole povere, se stai inserendo UTF-8 in un db con set di caratteri a byte singolo, i tuoi dati andranno persi.

Il link sopra descrive diversi scenari su come affrontare questo problema.

Puoi anche provare Oracle asciistr /unistr funzioni, ma in generale non è un buon modo per affrontare tali problemi.