IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

PHP et la langue arabe !


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 15
    Points : 13
    Points
    13
    Par défaut PHP et la langue arabe !
    J'ai crée une base de donnée MySQL et j'ai un champ dans une table dont la valeur est arabe (ex : عمر). Dans l'interclassement du champ je choisi UTF8, lors de l'affichage dans PHPMyAdmin le resultat s'affiche correctement. MAIS, quand je recupère la valeur du champ via PHP mon navigateur affiche des : ???

    C'est quoi la solution ? Merci d'avance !

  2. #2
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    Bonjour, peut être un probleme de choix de converson dans ton code html...
    Le savoir est utile que s'il est partagé par tous.
    /(bb|[^b]{2})/
    !sleep() ? array((string))

  3. #3
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    Bonjour,

    dans les meta de ton fichier html, il faut que tu mettes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    J'ai essayé avec la fonction utf8_encode() mais ça marche pas, aussi j'ai modifié dans le code HTML l'encodage vers utf8 et pas de résultat !
    Sachant que si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <? 
      $varArabe = "عمر";
      echo $varArabe;
    ?>
    ça marche bien !!

    Donc le problème c'est lors de l'envoie des infos à partir du coté serveur !!

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2005
    Messages : 147
    Points : 165
    Points
    165
    Par défaut
    à moins que tu l'ai déja fait regarde du côté de mbstring et de sa config :
    http://fr3.php.net/manual/fr/ref.mbstring.php#AEN99967

    notamment mbstring.http_input et mbstring.http_output

    pour mysql vaut mieux initialiser avec un mysql_query("SET NAMES 'utf8'") après la connection et avant les requêtes.

  6. #6
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 5
    Points : 4
    Points
    4
    Par défaut metas
    Bnojour Omar,

    essaye d'ajouter dans les balises metas ces 2 lignes et bon courage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <meta http-equiv='Content-Type' content='text/html; charset=windows-1256'>
    <meta http-equiv='Content-Language' content='ar-sa'>

  7. #7
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par tthierry
    à moins que tu l'ai déja fait regarde du côté de mbstring et de sa config :
    http://fr3.php.net/manual/fr/ref.mbstring.php#AEN99967

    notamment mbstring.http_input et mbstring.http_output

    pour mysql vaut mieux initialiser avec un mysql_query("SET NAMES 'utf8'") après la connection et avant les requêtes.
    J'ai déjà essayé la fonction mysql_query("SET NAMES 'utf8'") avant chaque requette de selection et pas de résulat !!!
    Pour le mbstring je vais tester pour voir, merci !

  8. #8
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Et enfin je dis que c'est résolu
    Merci à tous !

    Voilà ce que j'ai fait :
    Dans le champ de ma table j'ai choisi l'interclassement cp1256, après dans mapage.php j'ai fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <meta http-equiv='Content-Type' content='text/html; charset=windows-1256'>
    <title>Yupiii</title>
    </head>
    <body>
    <?
     mysql_connect("localhost","root","");
     mysql_select_db("bd_test");
     mysql_query("SET NAMES 'cp1256'");
     $req = mysql_query("select * from t_admin");
     
     $rs = mysql_fetch_row($req);
     echo $rs[0]."<br>".$rs[1]; // 0 : Id   - 1 : loginAr
    ?>

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 821
    Points : 280
    Points
    280
    Par défaut
    Salut

    Je sais que ton post date déjà mais comme je dois faire un site en langue anglais, français, espagnol, chinois et arabe, je voudrais tout simplement que tu me confirmes que ce qu tu as fait c'est à dire :


    <meta http-equiv='Content-Type' content='text/html; charset=windows-1256'>
    <title>Yupiii</title>
    </head>
    <body>
    <?
    mysql_connect("localhost","root","");
    mysql_select_db("bd_test");
    mysql_query("SET NAMES 'cp1256'");
    $req = mysql_query("select * from t_admin");

    $rs = mysql_fetch_row($req);
    echo $rs[0]."<br>".$rs[1]; // 0 : Id - 1 : loginAr
    ?>
    marche bien!!

    Merci!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. langue arabe dans un code php
    Par a-sana dans le forum Langage
    Réponses: 1
    Dernier message: 12/10/2012, 12h45
  2. [Encodage] PHP-MYSQL et la langue Arabe
    Par kernel_32 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 01/10/2010, 16h39
  3. CLI (PHP en ligne de commande) et la langue arabe
    Par MedNaceur dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 14/12/2009, 11h46
  4. problème langue arabe
    Par infoseb dans le forum Oracle
    Réponses: 2
    Dernier message: 17/10/2005, 17h44
  5. accents et langue arabe et chinoise
    Par localhost dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 25/02/2005, 13h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo