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

Impossible d'insérer des caractères arabes dans la base de données Oracle

Vous pouvez d'abord vérifier le paramètre NLS_CHARACTERSET de votre base de données à l'aide de la commande SQL*PLUS :-

sélectionnez * à partir de v$nls_parameters où paramètre ='NLS_CHARACTERSET' ;

le résultat devrait être

PARAMÈTRE

VALEUR

NLS_CHARACTERSET

AR8MSWIN1256

si ce n'est pas le cas, vous devez changer la valeur de ce paramètre en utilisant :-

  • appuyez sur la touche WINDOWS + r sur votre clavier

  • écrire :- SQLPLUS sys as sysdba

  • appuyez sur Entrée puis entrez le mot de passe ou appuyez simplement sur une autre entrée

  • lancez les commandes suivantes :

  • ARRÊT IMMÉDIAT

  • LIMITATION DE DÉMARRAGE

  • ALTER DATABASE CHARACTER SET INTERNAL_USE AR8MSWIN1256 ;

  • ALTER DATABASE CHARACTER SET AR8MSWIN1256;

  • ARRÊT IMMÉDIAT

  • DÉMARRAGE

  • changez la valeur de la chaîne de registre NLS_LANG en AMERICAN_AMERICA.AR8MSWIN1256

    si votre système d'exploitation est une variante d'UNIX utiliser

AR8ISO8859P6 au lieu de AR8MSWIN1256 comme valeur de NLS_CHARACTERSET

  • N'UTILISEZ PAS les types de données nationaux (c'est-à-dire NVARCHAR, NTEXT ou NCLOB) dans votre base de données à moins que vous n'utilisiez d'autres langues que (arabe et anglais) dans votre base de données

  • Le jeu de caractères AR8MSWIN1256 est suffisant pour mélanger l'arabe et l'anglais dans le même champ (pour autant que je sache).

PRIS DE