Oracle
 sql >> Base de données >  >> RDS >> Oracle

Problèmes NLS_CHARACTERSET WE8ISO8859P1 et UTF8 dans Oracle

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

D'autre part, UTF-8 utilise plusieurs octets pour stocker un symbole.

Si votre base de données utilise WE8ISO8859P1 et que le type de colonne est du groupe VARCHAR (pas NVARCHAR) et que vous insérez un symbole dont le code> 255, ce symbole sera transformé en WE8ISO8859P1 et certaines informations seront perdues.

Pour le dire simplement, si vous insérez UTF-8 dans une base de données avec un jeu de caractères à un octet, vos données sont perdues.

Le lien ci-dessus décrit différents scénarios pour résoudre ce problème.

Vous pouvez également essayer Oracle asciistr /unistr fonctions, mais en général ce n'est pas une bonne façon de traiter de tels problèmes.