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 :

Affichage de l'arabe avec PHP


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 13
    Points : 8
    Points
    8
    Par défaut Affichage de l'arabe avec PHP
    Bonjour
    mon code source php les cracteres arabe;et voilà le message qui etait aficher:

    ***Le document n'a pas pu être enregistré, car l'encodage sélectionné ne peut encoder tous les caractères unicode du document. Si vous n'êtes pas sûr de l'encodage à utiliser, essayez UTF-8 ou UTF-16.***

    remarque: je travail sous debian

  2. #2
    Membre éclairé Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    Par défaut
    Bonjour,
    Peux-tu mieux expliquer le problème?
    C'est dans ton éditeur de texte que le problème se pose? Si oui, il doit y avoir une option quelque part concernant l'encodage des caractère, et comme le dit le message il faut passer en utf8.

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 13
    Points : 8
    Points
    8
    Par défaut explication
    oui,si j'ai ajouter des caracteres arabes et si j'ai fais la sauvgarde il me demande de travail avec le codage utf-8 la chose que je connu pas
    donc pouvez vous m'aider?

  4. #4
    Membre régulier Avatar de fadex
    Inscrit en
    Septembre 2005
    Messages
    223
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2005
    Messages : 223
    Points : 105
    Points
    105
    Par défaut
    salut chikha labas


    ajouter ca ca va marcher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-6" />
    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-6" />
    <title>Untitled Document</title>
    </head>
     
    <body>
    <?php
     
    $var="حب الخير "; // (hob alkhayr) un texte en arab qui ne saffiche pas ici question d'encodage.
     
    echo $var;
    ?>
     
    </body>
    </html>

  5. #5
    Membre régulier Avatar de The Nux
    Profil pro
    Inscrit en
    Février 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 79
    Points : 88
    Points
    88
    Par défaut
    Pour faire vite, dans un fichier texte (un code source PHP est un fichier texte), l'éditeur nous montre des lettres mais il stocke des nombres sur le disque dur (souvenez vous, le disque dur est une suite de 0 et de 1, c'est donc des nombres en binaire et pas des lettres). Il lui faut donc une table de correspondance entre les lettres et les nombres. Le format utilisé pour les nombres (l'octet) permet d'avoir 256 lettres distinctes, ce qui est trop peu pour couvrir tout les alphabets de la terre. Par conséquent, il existe plusieurs tables de correspondances, appellées charsets (ou "character set", ou encore "jeu de caractère"). Il en existe pour tout les alphabets en fait. Il est donc impossible d'avoir plusieurs alphabets dans le même document, et de plus il faut spécifier le charset utilisé dans chaque document. Je dis que c'est impossible, mais ce n'est plus vrai. C'était impossible jusqu'à l'apparition d'unicode (et de UTF-8) qui utilise un format différent pour le stockage des caractères. De ce fait, tout les alphabets peuvent être exprimé avec le même charset car il offre des milliers de possibilités de caractères.

    Dans ton cas particulier, tu utilises probablement gedit, qui permet d'enregistrer dans la plupart des charsets connu, dont l'utf-8 (ou l'iso-8859-6 qui est le charset arabe, mais je te conseille plutôt d'utiliser l'utf-8, c'est un charset d'avenir). Cherches dans les options quand tu fais "enregistrer sous", c'est quelquepart.

    Si tu encodes ta page en utf-8 (ou un autre charset, quel qu'il soit d'ailleurs), il faut que tu le dises au navigateur, comme l'a expliqué fadex. Pour une page en utf-8 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    Comme tu programmes en PHP, il y a de fortes chances que tu utilises mysql. Il faut que tu choisisse un collation qui correspond quand tu créés tes tables. La collation c'est des règles que mysql applique quand tu va faire des recherches, par exemple si tu cherches "vélo" et qu'il trouve "velo", il va savoir que "é" et "e" c'est presque pareil, donc il va dire que vélo == velo. Bref, ça aide pour les recherches (c'est un exemple).
    De plus, il ne faut pas oublier de dire à mysql que tu utilises utf-8. Dès que tu es connecté, tu dois executer la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("SET NAMES utf8");
    Et euh voila je crois que j'ai fait le tour...

    C'est un peu hors sujet, mais sur phpclasses il y a un developpeur qui cherche à implémenter la langue arabe en PHP, et il a déjà fait des classes intéressantes. Voici sa page http://www.phpclasses.org/browse/author/189864.html
    Nouveau bachelier et futur ingénieur
    Et j'ai même un blog !

  6. #6
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 13
    Points : 8
    Points
    8
    Par défaut pourquoi?
    merci pour tous qui m'aidais;mais si j'ajoute la ligne:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    pourquoi j'ecris avec les lettres arabes avec des codes;je veux ecrire des lettres en arabes directement car si je doit ecrire une page par exemple en arabes donc je suis obligé de connaitre tous les code des lettres arabes !c'est defficile non?!
    et merci d'abord

  7. #7
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Avec UTF-8 tu peux écrire directement en arabe
    -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_SIGNATURE -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
    Dans la mesure du possible, essayez de montrer votre problème en situation réelle en nous donnant une url, que l'on puisse tester.
    Pensez également à cocher

    Aucun problème ne doit être résolu en MP (Message Privé) le forum est là pour ça.

    Dimension Internet

  8. #8
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 13
    Points : 8
    Points
    8
    Par défaut ça marche pas
    oerci pour l'aide
    oui Mr blueice j'ai utilise utf-8 dans l'entete mais ça marche pas

  9. #9
    Membre régulier Avatar de The Nux
    Profil pro
    Inscrit en
    Février 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 79
    Points : 88
    Points
    88
    Par défaut
    Il faut aussi que tu utilises un éditeur de texte qui supporte l'utf-8. Gedit fait ça très bien, il suffit que tu configures ça à l'enregistrement du fichier
    Nouveau bachelier et futur ingénieur
    Et j'ai même un blog !

  10. #10
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 13
    Points : 8
    Points
    8
    Par défaut pour les BDD
    merci pour les reponces et les aides
    le problem de l'arabe et reglé pour les page php
    mais j'ai un autre problem pour l'enregitrement en arabes dans mon BDD;si j'insert dans la bdd il prond les lettres arabes comme des ??????? je ne sais pour quoi car l'arabe elle bien configurée dans mon Debian

  11. #11
    Membre régulier Avatar de The Nux
    Profil pro
    Inscrit en
    Février 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 79
    Points : 88
    Points
    88
    Par défaut
    Il te faut aussi configurer ta base de données. Créé tes tables en utf-8, et ensuite juste après que tu te sois connect à mysql il faut que tu fasses la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("SET NAMES utf8")
    pour dire à mysql que tu lui parles en utf8
    Nouveau bachelier et futur ingénieur
    Et j'ai même un blog !

Discussions similaires

  1. [MySQL] Affichage d'image blob avec PHP
    Par minichips dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 17/03/2014, 16h44
  2. probleme d'affichage d'une table avec php
    Par K.aoutar dans le forum Langage
    Réponses: 6
    Dernier message: 01/09/2010, 17h09
  3. affichage de text arabe en php
    Par Jcpan dans le forum Langage
    Réponses: 2
    Dernier message: 12/02/2010, 11h13
  4. [ZF 1.7] l'affichage des caractére arabe avec tmx dans zf
    Par ghamrired dans le forum Zend Framework
    Réponses: 4
    Dernier message: 20/01/2009, 17h30
  5. Réponses: 9
    Dernier message: 08/02/2008, 16h17

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