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

Insertion de caractères arabes dans oracle 11g

Tout d'abord, vérifiez si votre base de données est capable de stocker des caractères arabes par

SELECT * 
from NLS_DATABASE_PARAMETERS
WHERE PARAMETER IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET');

Si vous obtenez des valeurs comme AL32UTF8 , AL16UTF16 ou WE8ISO8859P6 tout va bien et DB est capable de stocker de tels caractères.

Dans SQL Developer, allez dans Outils / Préférences / Environnement / Encodage et sélectionnez UTF-8 .

Définissez une variable d'environnement sur NLS_LANG=ARABIC_AMERICA.AL32UTF8 ou similaire, vous pouvez également faire NLS_LANG=.AL32UTF8 afin de conserver la langue et le territoire par défaut/existants. Vous pouvez également définir est également dans votre registre à HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_%ORACLE_HOME_NAME%\NLS_LANG (pour 32 bits), resp. HKLM\SOFTWARE\ORACLE\KEY_%ORACLE_HOME_NAME%\NLS_LANG (pour 64 bits).

Alors ça devrait marcher.

La modification de votre jeu de caractères local (c'est-à-dire NLS_LANG) n'affecte jamais les données existantes dans la base de données.