Inserer Données en arabe ds une DB sql server

Résolu
Bonjour:
je suis entrain de programmer une application en arabe , mon probleme dans la manipulation des données en arabe:
1- les données sont enregistrées dans une base de données sql server sous forme des points d'interrogations.

Merci de votre aide

13 réponses

Résumé de la discussion

Problème central : la manipulation et le stockage des caractères arabes posent des difficultés d'affichage et d'intégrité des données dans plusieurs environnements, les textes apparaissant souvent sous forme de points d'interrogation. Des solutions récurrentes consistent à utiliser des types Unicode tels que nvarchar et à préfixer les chaînes par N() lors des inserts pour garantir l'intégrité des données arabes. Pour les applications web et les interfaces, il faut assurer l'encodage en UTF-8 (charset, meta et doctype) et configurer les connexions à la base pour transmettre ce codage. En cas de migration de données entre SGBD, vérifier les collations et les Compatibilités Unicode à l'échelle du serveur et des clients pour éviter les régressions.

Bobot (l’IA à votre service)
  1. Bonjour,
    mon problem a moi c de trouver une solution pour inserer des donnée Arabes sur une base de données access, j'envoi les données a partir d'un logiciel en VB6. quand j'utilise la commande insert into, les données inserer sont sous forme de carectere spéciaux, et meme quand je les reçupere de la table vers une forme VB, je reçois des " ???????".
    Comment faire?
    12
    1. Salut:
      je veux inserer des données en arabe dans mon sql server 2005, j'ai que des '?????'.
      J'ai fait plein d'essai mais rien n'y fait !
      Merci pour votre aide.
      6
      1. salut, pour insérer des données en arabe ds sql server vous devez réinstaller le sql en choisissant l'arabe comme langue de programmation et ce va marcher correctement, je l'ai tester moi meme.
        bonne chance
        0
      2. Bonjour,

        Il faut lors de la création de ton champ qui va recevoir du texte en arabe, de le déclarer en nvarchar 4000 et de mettre la langue que tu souhaites dans Classement

        Lors de ta ligne de commande qui ira updater ou insérer ton texte tu devra faire précéder le texte de N

        exemple pour un update :

        Update [Nom Table] set [Nom Champ] = N'ton texte .....................................' from .........................

        et théoriquement tu ne devrais plus retrouver tes ??????

        Bonne journée
        0
      3. Merci REV60 ta solution marche très bien faut just précéder le N avant le teste à enrgistrer
        0
      4. Merci bouceaup , ta solution marche bien
        0
      5. j'ai rien comprend .
        0
    2. Salut,
      je suis en trein de faire une site web dans le framework .net 2.0.
      mais je recoit des prbs consistent :
      1- je lit un fichier écrite en arabe
      2- je affiche dans une msgbox les données de cette fichier
      3- PB: les données s'affichent sous forme des carreaux ou rien ne afficher
      SVP est ce que vous pouvez m'aidern mon mail est ensiraouf@hotmail.com
      ce très urgent
      merci d'avance
      4
      1. Salut
        je fait de meme avec un site multilangue (suis rendu a 12 langue)
        dont le japonais et le chinois. a prime abord, pour l'arabe, ca va etre les meme proceder

        dans tes pages, tu doit definir le type de donner

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

        pour que mes pages affiche les caractere correctement, je doit y forcer ces infos dans toutes pages:
        <%
        Session.CodePage = 65001
        Response.AddHeader "Content-Type","text/html; charset=utf-8"
        Response.CharSet = "utf-8"
        %>

        Pour la BD,
        tu doit utiliser des types bien precis
        pour les types 'text', le type doit etre 'ntext'
        pour les 'varchar', le type doit etre 'nvarchar'

        voila, a partir de la, le tout devrais monter
        3
        1. merci
          0
      2. Salut,je cherche une méthode,solution pour l'iinsertion des donnée Arabes sur une base de données
        sql server 2000 ou bien sql server 2005.
        mon e-mail( hassan_50cent_kamoni@hotmail.com)
        Merci de votre aide.
        2
        1. Bon vous devez utiliser le type Nvarchar ou Nchar pour la column qui va recoi de l'arabe et au niveau d'insertion utiliser le mot clé N()
          ex : insert into matables Values(N(ma_phrase))
          2
          1. Merci pour votre solution, ça marche très bien :)
            0
          2. par contre moi ca marche pas :((((((((
            0
        2. mais si c'est un probleme de base de données, car en utilisant un SGCD quelquenque, on est pas tout le temps appelé à développer des pages web
          0
          1. bon samia to dabord salut moi aussi j'ai le même problème j'ai déjà changer le type données en nvarchar mais toujours il reste le même problème si tu trouve une solution svp svp svp envoyer moi les résultats to les solutions de ce probléme mon e-mail (mouradgalliley@hotmail.com) svp svp samia c urgenttttttttttttt merci bon courage
            0
            1. salut tout le monde ,je cherche des cours de sql je suis debutante en programmation ,svp aidez moi merci a vous h
              0
              1. salaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaam
                0795104204 خلي ميساج
                0
              2. @232323salam :
                tu vas travailler avec les types suivants:
                varchar --->nvarchar,
                char ---->nchar,
                text ---->ntext
                0
              3. www.siteduzero.com
                0
            2. salut tout le monde
              moi aussi j'ai le même problème : insérer des donnée en arabe dans une BD SQL Server 2000
              j'ai résolu la moitié du problème et il me reste la moitié
              en utilisant les types de donnée nX (nchar, ...) ça m'a permit d'insérer des données dans la base mais à partir de Entreprise Manager mais en utilisant une procédure stocké à partir de C#
              0
              1. salut tte le monde
                j'ai développé beaucoup d'application en utilusant le sql server 2005 , le probléme de langauge arabe me jamais rencontrer , il est a noter que j'ai utilusé le type de donné nvarchar(max).
                maintenant je suis en train de développer un application avec oracle 8.1.7 et vraiment je suis fatigué du recherche sur le probléme d'affichage des caractéres arabe sous forme "????" .
                0
                1. salam
                  dans la panneau de configuration
                  Options régionales et linguistiques
                  options avancées
                  langues pour les programmes non unicode doit etre Arabe(tunisie)

                  remarque
                  j ai utilise Arabe(tunisie) parceque je vais a tunis , vous pouvez utiliser la langue arabe pour n importe quel paye
                  0
              2. slt,j'ai le meme probleme de l'insertin de la langue arabe mais mon BDD est sous accees
                merc de votre aide
                0
                1. Bonjour ange,

                  Pour l'enregistrement des données en langue arabe dans une base de donnée sous SQL Server, le type de donnée de la colonne qui va acquérir ses valeurs doit être du type nX (nchar, nvarchar, ...).
                  Aussi dans la requête d'insertion tu doit précéder les chaines de caractère d'un N.
                  Voici un exemple : Si tu veut enregistrer "فرهود" dans le champ Nom de la table X tu doit faire

                  INSERT INTO X(Nom) Values(N"فرهود");

                  Pour tout autre renseignement, veuillez me contacter par email aminbjfr444666@gmail.com
                  0
                2. ?????????????????????
                  0
                3. merci
                  0
                4. ajouter c'ette code mysql_query("SET NAMES 'UTF8' "); dans votre requtte sql
                  exemple
                  mysql_select_db($database_config, $config);
                  $query_Modifier = sprintf("SELECT * FROM articles WHERE Id_article = %s", GetSQLValueString($colname_Modifier, "int"));
                  mysql_query("SET NAMES 'UTF8' ");
                  0
              3. S.V.P le même problème dans Mysql server est ce que je trouve un possibilité pour insérer les données en arabe dans la BD
                "la connexion entre VB et Mysql"

                Mercii
                0