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. 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
      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. 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. 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
      4. 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 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:
          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
        3. 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. 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. 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. 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. 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